2014-01-13 107 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$ 

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