Pycharm上Django的使用 Day11

本文详细介绍了如何在Django项目中实现用户注销和注册功能,包括URL模式设置、视图函数编写、模板创建及自动登录流程。通过具体步骤,展示了如何使用Django内置的logout()和UserCreationForm,以及如何在成功注册后自动登录用户。

注销和注册

1.注销

对于注销,我们不创建用于注销的页面,只需单击一个链接就能注销并返回到主页

1>创建注销的URL模式

768a26bf3abd499d528a96e8d9cd409a66e.jpg

这个URL模式将请求发送给视图函数logout_view()

2>编写视图函数logout_view()

b98311873feab59477e3209d848a09ca84f.jpg

1处表示从django.contrib.auth中导入了函数logout()

2处调用函数logout()

3处将重定向到主页

3>在base.html中添加注销链接

ad7d62ec6bb15f4b0e938fd739dc1f6cb35.jpg

添加到base.html页面是因为,当我们成功登陆后,我们在每个页面都可以注销用户

4>运行manage.py,并使用注销功能

c72aa8692b5f781e9f447f3bac36549e937.jpg

f186612c52e4e9ad3852ae5abf23d67cbb2.jpg

005900546072f4f225584c1a45f2de6ce89.jpg

可以看到每个页面都有注销链接,然后点击log out注销,页面会返回到主页

77869b25ee9e75287c9b214f6b183ba2780.jpg

2.注册页面

我们将使用Django提供的表单UserCreationForm

1>创建注册页面的URL模式

322396de99e60776ab81809ac301ef85c18.jpg

将请求发送给视图函数register()

2>创建视图函数register()

20cd58f5945de22366dcdb38a033d6fce6c.jpg

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

15e245130b5133001f9120069622f7b8f9e.jpg

使用方法as_p,让Django在表单正确显示所有字段

4>在base.html中添加注册链接

8de2538e55dca993f799a1a77147f0518ca.jpg

5>运行manage.py,查看注册页面

8d4a3f4b6d32dfd683728886e5b66d84d6c.jpg

点击register

151f3a0b3dba57849bc251c77ef0c2f18b5.jpg

点击register

fbad0d29fab8f8c0e3d8684cdf38194d529.jpg

注册完成并自动登陆主页

 

转载于:https://my.oschina.net/u/4011629/blog/2907363

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值