注销和注册
1.注销
对于注销,我们不创建用于注销的页面,只需单击一个链接就能注销并返回到主页
1>创建注销的URL模式
这个URL模式将请求发送给视图函数logout_view()
2>编写视图函数logout_view()
1处表示从django.contrib.auth中导入了函数logout()
2处调用函数logout()
3处将重定向到主页
3>在base.html中添加注销链接
添加到base.html页面是因为,当我们成功登陆后,我们在每个页面都可以注销用户
4>运行manage.py,并使用注销功能
可以看到每个页面都有注销链接,然后点击log out注销,页面会返回到主页
2.注册页面
我们将使用Django提供的表单UserCreationForm
1>创建注册页面的URL模式
将请求发送给视图函数register()
2>创建视图函数register()
1处表示验证请求是否'POST'请求,如果不是,就创建一个UserCreationForm实例,且不给它提供任何初始数据
2处表示如果验证是'POST'请求,就根据提交的数据创建一个UserCreationForm实例
如果提交的表单数据有效,就调用表单的方法save(),并将其存储在new_user中
确保用户的信息后,我们让用户自动登陆,将包含两个步骤:
(1)调用authenticate,并将实参new_user.username和密码传递给它(5处),如果用户名和密码无误,方法authenticate()将返回一个通过了身份验证的用户对象,
我们将其存储在authenticated_user中
(2)调用函数login(),并将对象request和authenticated_user传递给它(6处)
7处表示自动登陆后,将用户重定向到主页
3>创建注册模板register.html
使用方法as_p,让Django在表单正确显示所有字段
4>在base.html中添加注册链接
5>运行manage.py,查看注册页面
点击register
点击register
注册完成并自动登陆主页