Ошибка аутентификации при попытке войти в админку Django, не могу выйти - PullRequest
0 голосов
/ 03 мая 2019

У меня два вопроса, второй относится к первому и действительно может быть причиной.

Я нахожусь в стадии разработки простого проекта Django, я использовал (частично законченную) форму для входа в систему, используя не суперпользователя. Он перенаправлен на страницу входа, но когда я перешел к localhost / admin, он обнаружил эту ошибку.

You are authenticated as 3rdMayTest (this is the username), but are not authorized to access this page. Would you like to login to a different account?

Проблема в том, что я попытался обновить страницу, щелкнуть по ней и перезапустить сервер, но ошибка сохраняется, и я не могу понять, как выйти из системы, чтобы я мог продолжить.

Связанная проблема находится в файле SETTINGS.py (для проекта), я добавил его в надежде, что при отправке данных формы входа в систему он войдет в систему и перенаправит на домашнюю страницу. , но вместо этого он вызывает вышеуказанную ошибку и перенаправляет на страницу входа.

LOGIN_REDIRECT_URL = 'socialmedia-home'

socialmedia-home, насколько я знаю, это имя, которое я дал, и это в приложении для социальных сетей / файле urls.py

#THIS IS THE SOCIAL MEDIA URLS ..not the root directory URLS
from django.contrib import admin
from django.urls import path
from . import views

urlpatterns = [
    path('', views.home, name='socialmedia-home'),
    path('about/', views.about, name='socialmedia-about'),
    #path('login/', views.login, name='socialmedia-login'),  
]

Мои вопросы: 1. Проблема 2, кажется, вызвала эту проблему в некотором роде, так как страница не перенаправляется должным образом после отправки формы входа. Но при переходе к localhost / admin, как я могу удалить ошибку, которая сохраняется? 2. Как мне решить проблему 2, которая, очевидно, приводит к неправильной отправке или перенаправлению формы в нужное место?

1 Ответ

1 голос
/ 03 мая 2019

Причина, по которой вы видите эту ошибку, заключается в том, что вы вошли как пользователь, не являющийся сотрудником, который не имеет доступа к администратору.Обычно на домашней странице должна быть кнопка «Выход», чтобы пользователи могли выйти из системы.Если у вас его нет (пока), просто добавьте его, как описано здесь .Это очень простое представление, которое вы можете добавить к своим URL-адресам (например, path('logout/', views.logout)).

Но вы также можете просто войти на эту страницу входа администратора с пользователем, который имеет привилегии персонала (например, ваш суперпользователь)и это автоматически выйдет из системы вашего внештатного пользователя и зарегистрирует вас как персонал.А у администратора есть ссылка «Выйти».

Проблема 2: LOGIN_REDIRECT_URL используется по умолчанию LoginView, предоставленным django.contrib.auth.Ваш кастом login делает что-то с ним?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...