在Django Admin中查找站点的站点\u id

在Django Admin中查找站点的站点\u id,django,Django,我正在将Django AllAuth安装到我的项目中,在该应用程序的文档中遇到了以下行: 为您的域添加一个站点,匹配settings.Site\u ID(django.contrib.sites应用程序) 毫不奇怪,我的settings.SITE_ID是1。我如何在Django管理员中“匹配”这个?我只有两个字段-域名和显示名 相反,如果我在管理员中创建一个站点,我如何知道它的站点id是什么?您可以在地址栏中找到站点id 因此,settings.py中的行应该是:SITE\u ID=3转到您拥

我正在将Django AllAuth安装到我的项目中,在该应用程序的文档中遇到了以下行:

为您的域添加一个站点,匹配settings.Site\u ID(django.contrib.sites应用程序)

毫不奇怪,我的settings.SITE_ID是1。我如何在Django管理员中“匹配”这个?我只有两个字段-域名和显示名


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

您可以在地址栏中找到
站点id


因此,settings.py中的行应该是:
SITE\u ID=3

转到您拥有manage.py文件的项目路径,并遵循以下步骤:

在终端中运行以下命令

    python manage.py shell
然后在python外壳类型中:

    from django.contrib.sites.models import Site

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

    print new_site.id
此打印值将是站点匹配查询的站点id 如果你仍然震惊,回答。我将指导您使用非常简单的步骤来欣赏django allauth的美丽。

这对我很有用:

user$python manage.py shell——设置您的设置.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$

这并不能回答这个问题。若要评论或要求作者澄清,请在其帖子下方留下评论。@nietonfir我如何知道该网站的id是什么?您可以在地址栏中找到站点id。这当然有帮助,谢谢-它确实回答了“相反”的问题。我仍然有兴趣知道是否有任何方法可以编辑/创建站点id,因为您正在创建一个新站点(如果可能的话)。感谢您的回答-我认为您仍然无法选择id-但至少您可以找到它?@gmfreak我也有同样的问题。我正在测试localhost,它添加到站点中,id为2,因此我在settings.py中设置了SITE_id=2,但当我单击facebook时,我会得到“应用程序配置不允许给定URL:应用程序的设置不允许一个或多个给定URL…”。我还为我的facebook应用程序添加了网站Url。我做错了什么?这应该是被接受的答案,谢谢你的这一点,救了我很多headache@ChefJulian不客气。☺️