首先,我在用户(我的应用程序)文件夹的模板文件夹中有urls.py。
`“”“应用程序的URL =用户”“”
from django.urls import path
from django.contrib.auth import login
from . import views
app_name = 'users'
urlpatterns =[
# Login page
path('login/', login, {'template_name':'users/login.html'}, name='login'),
然后我得到login()了一个意外的关键字参数'template_name'这个错误。所以我一直在互联网上寻找答案并将其更改为:
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的文件夹中。有人可以帮忙吗? 谢谢!
答案 0 :(得分:1)
来自Django documentation for LoginView:
如果您不想调用模板registration / login.html,则可以 可以通过额外的参数将template_name参数传递给 URLconf中的as_view方法。例如,此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')),