我目前正在使用我的 Django 身份验证应用程序。我的目标是一旦用户成功登录我想将其重定向到我的代码显示自定义消息的索引页面:
messages.success(request, 'Login Successful', extra_tags='alert alert-dark')
我的问题是我没有设法在我的 views.py 中“访问”LoginView。 我阅读了有关 SuccessMessageMixin 的信息,但此 LoginView 无法正常工作(未找到模板):
class LoginView(auth_views.LoginView):
template_name = "accounts/login.html"
你知道如何解决这个问题吗?
只要我在我的 urls.py 中包含 template_name 它就可以工作,但我不能在那里添加成功消息 mixin。
网址.py
from django.urls import path
from django.contrib.auth import views as auth_views
from . import views
app_name = 'accounts'
urlpatterns = [
path('login/', auth_views.LoginView.as_view(template_name='accounts/login.html'), name='login'),
]
最佳答案
您有一个自定义 LoginView
,但在 urls.py 中您调用了 auth_views.LoginView。
要调用你应该做的自定义 View
from <module_name>.views import LoginView
urlpatterns = [
path('login/', LoginView.as_view(), name='login'),
]
最好为您的自定义 View 取一个不同的名称,即CustomLoginView。
关于python - 登录查看成功,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48268338/