升级到Django 1.8后,在/ admin / login /中是否存在

时间:2016-03-11 10:05:52

标签: python django

从django 1.7升级到1.8后,我无法访问我的管理门户。我收到以下错误:

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', ], }, }, ] 设置,但没有帮助。

read-host

2 个答案:

答案 0 :(得分:5)

如果您的设置中没有SITE_IDDjango 1.8, will try to use the hostname(例如127.0.0.1:8000)可以找到该网站。如果您的数据库中没有包含该域名的站点,则会收到错误:

Site matching query does not exist.

您有几个选择:

  1. 您可能不需要网站框架。您可以尝试从'django.contrib.sites'设置中将其从INSTALLED_APPS中删除。
  2. 在您的设置中,将SITE_ID设置为您要使用的网站的值。如果您未对数据库中的站点进行任何更改,SITE_ID = 1可能会有效。
  3. 更改数据库中网站的域名(例如,从example.com更改为127.0.0.1:8000)。这是最脆弱的修复,因为您的项目现在适用于127.0.0.1:8000,但不适用于localhost:8000

答案 1 :(得分:1)

尝试通过运行命令manage.py createsuperuser来创建新用户。使用此用户登录,您现在应该可以访问管理面板。

然后找到您的用户对象并确保它具有正确的权限。如Minor features下的1.8更改日志中所述。

当我升级时,我没有访问管理面板的正确权限。