使用Django创建登录页面时出现此错误

时间:2019-02-18 03:36:32

标签: python django

首先,我在用户(我的应用程序)文件夹的模板文件夹中有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的文件夹中。有人可以帮忙吗? 谢谢!

1 个答案:

答案 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')),
相关问题