繁体   English   中英

在 Django Admin 中查找站点的 site_id

[英]Finding the site_id of a Site in Django Admin

我正在将 Django AllAuth 安装到我的项目中,并且在该应用程序的文档中遇到了以下行(请参阅此处的文档)

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

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

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

您可以在地址栏中找到site_id

显示 Django 管理和感兴趣的 url 的 Web 浏览器屏幕截图

所以 settings.py 中的行将是: SITE_ID = 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 的美丽。

这对我有用:

user$ python manage.py shell --settings your-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$

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM