django注册登录功能的实现(Django项目之登录页面怎么写)
上节课我们已经完成了注册页面的编写,这节课我们继续进行登录页面的编写。
1.路由的配置
这一步跟注册页面一样,加上相应的路径和视图文件。这一步比较简单。
2.get请求视图文件的配置
跟注册页面一样,我们会收到两种请求,一种是get请求,一种是post请求。
首先我们来看一样get请求,跟注册页面一样,页面收到get请求之后会跳转到登录页面。
3.模板文件的设置
我们仍旧需要设置几个选项:用户名、密码、登录界面和记住用户名几个选项。
整体上跟注册页面大同小异,唯一不同的地方是,我们多了一个checkbox选中触发事件,这个选项我们命名为remember,在设置这个选项的时候我们会用到。
4.post请求视图文件的配置
刚才我们的get请求已经设置好了,当用户在输入用户名与密码点击登录的时候,post表单就会被提交,然后我们就应该设置post了。
1)获取数据:
我们需要将提交过来的用户名密码,获取过来:
2)判断用户名是否存在
当提交表单后,我们需要判断该用户是否已经注册
3)判断用户名是否错误:
当用户名已经存在的时候,我们就要看下密码是否正确了,但是在注册页面的时候,我们把密码设置为hashid了,因此也需要将密码转换一下再做判断
①转换密码为hashid
②将数据库中的密码与提交密码进行比对
5.用session记录登录状态:
将用户名与ID记录在session中
6.记住用户名的设置
当我们点击记住用户名的时候,我们会发现post请求中会对了一对参数‘remember’:’on‘,因此我们可以通过post请求来判断用户是否点击了记住用户名,当点击用户名,我们讲登录状态用cookie记录
7.需要修改的地方
当我们再进入登录页面的时候,需要做下判断,用户是否已经登录,如果登录了,显示已登录,否则进入到的是登录页面
1)首先判断session是否记录了登录状态:
2)判断cookie是否记录了登录状态,如果登录了显示已经登录,否则将cookie登录状态同步到session
8.最终界面
,
免责声明:本文仅代表文章作者的个人观点,与本站无关。其原创性、真实性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容文字的真实性、完整性和原创性本站不作任何保证或承诺,请读者仅作参考,并自行核实相关内容。文章投诉邮箱:anhduc.ph@yahoo.com