gpt4 book ai didi

django-templates - LogoutView 中的模板名称不适用于 django2.1 python3.7

转载 作者:行者123 更新时间:2023-12-01 11:15:27 25 4
gpt4 key购买 nike

下面是 django.contrib.auth.views.LogoutViews 中的默认设置,

template_name = 'registration/logged_out.html'

我像这样配置我的应用程序的 urls.py:
from django.urls import path
from . import views

from django.conf import settings

from django.contrib.auth.views import LoginView, LogoutView

app_name = 'account'
urlpatterns = [
#path("login/", views.user_login, name="user_login"),
path("login/", LoginView.as_view(), name="user_login"),
path("nlogin/", LoginView.as_view(), {"template_name":"account/login.html"}),
path("logout/", LogoutView.as_view(), name="user_logout"),
path("logoutt/", LogoutView.as_view(), {"template_name":"account/logout.html"}),
]

"template_name":"account/login.html"工作正常,但 "template_name":"account/logout.html"似乎没有区别,我的代码有什么问题?

最佳答案

当您使用基于类的变体时,您通过 .as_view 将设置传递给 View 。 (所谓的 **initkwargs )方法:

from django.urls import path
from . import views

from django.conf import settings

from django.contrib.auth.views import LoginView, LogoutView

app_name = 'account'

urlpatterns = [
#path("login/", views.user_login, name="user_login"),
path("login/", LoginView.as_view(), name="user_login"),
path("nlogin/", LoginView.as_view(template_name='account/login.html')),
path("logout/", LogoutView.as_view(), name="user_logout"),
path("logoutt/", LogoutView.as_view(template_name='account/logout.html')),
]

否则参数将在 self.kwargs 中结束,并且基于类的 View 不会检查这些。

documentation on the LoginView [Django-doc]提到了这一点以及您可以作为 **initkwargs 传递的参数列表.

关于django-templates - LogoutView 中的模板名称不适用于 django2.1 python3.7,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52161407/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com