2014-01-13 110 views
6

我安装的Django AllAuth到我的项目和文档中所遇到下面这行该应用(see docs here)查找网站的SITE_ID在Django管理

添加一个网站为您的域,匹配settings.SITE_ID(django.contrib.sites应用程序)。

我的设置.SITE_ID是1,不出所料。我如何在Django Admin中“匹配”这个?我只有2个字段 - 域名和显示名称。

相反,如果我在管理员中创建一个网站,我怎么知道它的site_id是什么?

回答

10

您可以在地址栏中找到site_id

screenshot of web browser showing Django administration and url of interest

所以在settings.py行是:SITE_ID = 3

+0

这不提供问题的答案。要批评或要求作者澄清,请在其帖子下方留言。 – nietonfir

+0

@nietonfir我怎么知道它的site_id是什么?您可以在地址栏中找到site_id。 –

+1

这当然有帮助,谢谢 - 它确实回答了“相反”的问题。我仍然有兴趣知道是否有任何方式编辑/创建site_id,因为您正在创建一个新网站(如果可能的话) –

3

去哪里你有manage.py文件的项目路径,并按照下列步骤:

运行TEH以下命令在终端

python manage.py shell 

然后在Python外壳类型:

from django.contrib.sites.models import Site 

    new_site = Site.objects.create(domain='....', name='....') 

    print new_site.id 

此打印值将为站点匹配查询的site_id 如果您仍然被触发,请回复。我会引导你到非常简单和容易的步骤去欣赏django allauth的美丽。

+0

感谢您的答案 - 我认为您仍然无法选择ID - 但在你至少可以找到它? –

+0

@gmfreak我也有同样的问题。我正在测试localhost中添加的localhost,id为2,因此我在settings.py中设置了SITE_ID = 2,但是后来我得到了“给定的URL不被应用配置允许:一个或多个给定的URL是不应用的应用程序的设置..“一旦我点击Facebook。我也为我的Facebook应用程序添加了http:// localhost/as Site Url。我做错了什么? – mascot6699

0

这个工作对我来说:

user$ python manage.py shell --settings you-settings.py

[ ... banner ... ] 
>>> 
>>> from django.contrib.sites.models import Site 
>>> 
>>> sorted([(site.id,site.name) for site in Site.objects.all()]) 
[(1, u'www.lvh.me'), (2, u'example.com'), (3, u'www.example.com'),...] 
>>> 
>>> quit() 
user$ 

我希望它能帮助。 (◠﹏◠)