Python编程-从入门到实践 Chapter19 第19章 创建用户账户的坑

这次的坑在登录页面的19.2.2小节

书中代码略

书中代码转换成Django2.0版本如下:

"""为应用程序users定义URL模式"""

from django.urls import path
from django.contrib.auth import login

from . import views

app_name = 'users'

urlpatterns = [
    # 登录页面
    path('login/', login, {'template_name': 'users/login.html'},
         name='login')
]

运行的时候会报错:得到一个意外的参数template_name

上网查了好多资料发现,可以这样修改代码:

"""为应用程序users定义URL模式"""

from django.urls import path, include
from django.contrib.auth.views import LoginView#导入类
from . import views
# 修改模板路径

LoginView.template_name = 'users/login.html'
urlpatterns = [
    # 登录界面
    path('login/', LoginView.as_view(),
         name='login')
]
app_name = 'users'

或者更简洁一些:

path('login/',LoginView.as_view(template_name='users/login.html'),name='login')

实测有效
运行效果图

部分资料来自百度python3吧。
html文件一定要仔细,本人少打了一个冒号找了一个小时。最好有书中配套资源,学起来会更轻松一些。需要本书配套资源的留言或者留下邮箱。


几个新版本的导入代码(logout等):

from django.urls import reverse
from django.contrib.auth import logout, login, authenticate
from django.contrib.auth.forms import UserCreationForm

猜你喜欢

转载自blog.csdn.net/weixin_40624269/article/details/81836903