2016-03-11 3 views
0

После обновления с django 1.7 до 1.8 я не могу получить доступ к моему админ-порталу. Я получаю следующее сообщение об ошибке:DoNotExist at/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. Вы не могли бы потребовать рамки сайтов. Вы можете попробовать удалить его с '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.
+0

спасибо Alasdair, теперь он работает для меня –

1

Попробуйте создать нового пользователя, выполнив команду manage.py createsuperuser. Войдите в систему с помощью этого пользователя, теперь вы можете получить доступ к панели администратора.

Затем найдите свой объект пользователя и убедитесь, что он имеет правильные разрешения. как указано в 1.8 changelog под Minor features.

Когда я обновился, у меня не было правильного разрешения на доступ к панели администратора.

Смежные вопросы