我有两个问题,第二个问题与第一个有关,可能是原因。
我是一个简单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'
据我所知,社交媒体-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,该问题显然导致表单不能正确提交或重定向到正确的位置?
发布于 2019-05-03 15:53:01
您之所以看到此错误,是因为您是以编外用户身份登录的,因此无法访问管理员。通常,您应该在您的主页上有一个“注销”按钮,以便用户可以注销。如果您还没有这个功能(还没有),只需按描述的这里添加即可。这是一个非常简单的视图,然后您可以添加到您的urls (例如path('logout/', views.logout)
)。
但是你也可以用一个拥有员工特权的用户(例如你的超级用户)登录到管理登录页面,这个用户会自动注销你的非工作人员用户,并将你作为工作人员登录。管理员有一个“注销”链接。
问题2: LOGIN_REDIRECT_URL由django.contrib.auth提供的默认LoginView
使用。您的自定义login
视图是否在使用它?
https://stackoverflow.com/questions/55972907
复制相似问题