2016-03-11 332 views
0

從django 1.7升級到1.8後,我無法訪問我的管理門戶。我得到以下錯誤:在其他問題中提到DoesNotExist在/ admin/login /升級到Django 1.8後

DoesNotExist at /admin/login/ 
Site matching query does not exist. 

,我必須改變我的TEMPLATES設置,但它並不能幫助。

TEMPLATES = [ 
    { 
     'BACKEND': 'django.template.backends.django.DjangoTemplates', 
     'DIRS': [ 
      os.path.join(BASE_DIR, 'MyANSRSource/templates/MyANSRSource/'), 
      os.path.join(BASE_DIR, 'employee/template/'), 
      os.path.join(BASE_DIR, 'employee/emp_photo/'), 
     ], 
     'APP_DIRS': True, 
     'OPTIONS': { 
      'context_processors': [ 
       # Insert your TEMPLATE_CONTEXT_PROCESSORS here or use this 
       #global_settings.TEMPLATE_CONTEXT_PROCESSORS + (
       # 'django.template.context_processors.request', 

       #), 
       # list if you haven't customized them: 
       'django.template.context_processors.request', 
       'django.contrib.auth.context_processors.auth', 
       'django.template.context_processors.debug', 
       'django.template.context_processors.i18n', 
       'django.template.context_processors.media', 
       'django.template.context_processors.static', 
       'django.template.context_processors.tz', 
       'django.contrib.messages.context_processors.messages', 
      ], 
     }, 
    }, 
] 
+0

你沒有說過會發生什麼,或者你爲什麼認爲模板目錄是責怪。你會得到什麼錯誤? –

+0

我檢查了其他類似的問題,其中解決方案是添加模板標記 –

+0

但這也不起作用 –

回答

5

如果您沒有SITE_ID在您的設置中,Django 1.8, will try to use the hostname(例如127.0.0.1:8000)找到該網站。如果你沒有在你的數據庫域名的網站,那麼你將得到錯誤:

Site matching query does not exist. 

您有幾種選擇:

  1. 你可能並不需要的站點框架。您可以嘗試從INSTALLED_APPS設置中將其從'django.contrib.sites'中刪除。
  2. 在您的設置中,將SITE_ID設置爲您要使用的網站的值。如果您尚未對數據庫中的網站進行任何更改,那麼SITE_ID = 1可能會有效。
  3. 更改數據庫中的站點域(例如,從example.com更改爲127.0.0.1:8000)。這是最脆弱的修復方法,因爲您的項目現在可用於127.0.0.1:8000,但不適用於localhost:8000
+0

謝謝阿拉斯代爾,它現在適合我 –

1

嘗試通過運行命令manage.py createsuperuser來創建新用戶。用這個用戶登錄,你應該能夠立即訪問管理面板。

然後找到您的用戶對象並確保它具有正確的權限。如在Minor features下的1.8更新日誌中所述。

當我升級時,我缺少訪問管理面板的正確權限。

相關問題