这次的坑在登录页面的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
更多推荐
Python编程-从入门到实践 Chapter19 第19章 创建用户账户的坑
发布评论