Python 在使用django创建登录页面时,我遇到了这个错误
首先,我在用户(我的应用程序)文件夹的模板文件夹中有urls.py `“”“应用程序=用户的URL”“” 然后我得到login()得到了一个意外的关键字参数“template\u name”此错误。所以我一直在互联网上搜索答案,并将其更改为:Python 在使用django创建登录页面时,我遇到了这个错误,python,django,Python,Django,首先,我在用户(我的应用程序)文件夹的模板文件夹中有urls.py `“”“应用程序=用户的URL”“” 然后我得到login()得到了一个意外的关键字参数“template\u name”此错误。所以我一直在互联网上搜索答案,并将其更改为: from django.urls import path from django.contrib.auth.views import LoginView from . import views app_name = 'users' urlpattern
from django.urls import path
from django.contrib.auth.views import LoginView
from . import views
app_name = 'users'
urlpatterns =[
# Login page
path('login/', LoginView, {'template_name':'users/login.html'}, name='login'),
然而,我现在得到了这个错误:init()接受1个位置参数,但给出了2个
我的login.html位于模板文件夹中名为users的文件夹中。有人能帮忙吗?
谢谢 来自:
如果您不想调用模板registration/login.html,您可以
可以通过额外参数将template_name参数传递给
作为URLconf中的视图方法。例如,此URLconf行将
改用myapp/login.html:
path('accounts/login/', auth_views.LoginView.as_view(template_name='myapp/login.html')),
更改您必须更改的内容:
path('login/', auth_views.LoginView.as_view(template_name='users/login.html')),
谢谢你抽出时间。”“不调用模板”的意思是,当url匹配时,它只会将其发送到django的登录名,并创建其默认模板?另外,如果我更改了它,页面将无法加载…您会遇到什么错误?你能发布你的
users/login.html
文件的内容吗?您必须为登录创建自己的模板。默认情况下,它被称为注册/login.html
,因此您必须创建该模板。你说你有一个users/login.html
,所以改用那个。查看文档以获取可用于测试的该文件的示例内容。它说auth_视图未定义,因此我尝试将LoginView作为auth_视图导入,并提供了AttributeError:type对象“LoginView”没有属性“LoginView”,我将我的html作为答案。因为您是从auth.View
导入LoginView,只需删除即可登录视图之前的验证视图。另外,不要将对问题的编辑作为答案发布,请使用问题下方的选项进行更改。
path('login/', auth_views.LoginView.as_view(template_name='users/login.html')),