在Django Admin中查找站点的site_id

时间:2014-01-13 05:59:54

标签: django

我正在将Django AllAuth安装到我的项目中,并在该应用程序(see docs here)的文档中遇到以下行:

  

为您的域添加网站,匹配settings.SITE_ID(django.contrib.sites app)。

我的settings.SITE_ID为1,不足为奇。如何在Django Admin中“匹配”这个?我只有2个字段 - 域名和显示名称。

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

3 个答案:

答案 0 :(得分:10)

您可以在地址栏中找到site_id

screenshot of web browser showing Django administration and url of interest

所以settings.py中的行应为:SITE_ID = 3

答案 1 :(得分:3)

转到您拥有manage.py文件的项目路径,然后按照以下步骤操作:

在终端中运行以下命令

    python manage.py shell

然后在python shell中输入:

    from django.contrib.sites.models import Site

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

    print new_site.id

此打印值将是站点匹配查询的site_id 如果你仍然被击中,请回复。我将引导您到非常简单的步骤,享受django allauth的美丽。

答案 2 :(得分:1)

这对我有用:

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$

我希望它有所帮助。 (◠﹏◠)