django注册登录功能的实现 Django项目之登录页面怎么写

上节课我们已经完成了注册页面的编写,这节课我们继续进行登录页面的编写 。

1.路由的配置
这一步跟注册页面一样,加上相应的路径和视图文件 。这一步比较简单 。

django注册登录功能的实现 Django项目之登录页面怎么写



2.get请求视图文件的配置
跟注册页面一样,我们会收到两种请求,一种是get请求,一种是post请求 。
首先我们来看一样get请求,跟注册页面一样,页面收到get请求之后会跳转到登录页面 。

django注册登录功能的实现 Django项目之登录页面怎么写



3.模板文件的设置
我们仍旧需要设置几个选项:用户名、密码、登录界面和记住用户名几个选项 。
整体上跟注册页面大同小异,唯一不同的地方是,我们多了一个checkbox选中触发事件,这个选项我们命名为remember,在设置这个选项的时候我们会用到 。
【django注册登录功能的实现 Django项目之登录页面怎么写】
django注册登录功能的实现 Django项目之登录页面怎么写



4.post请求视图文件的配置
刚才我们的get请求已经设置好了,当用户在输入用户名与密码点击登录的时候,post表单就会被提交,然后我们就应该设置post了 。
1)获取数据:
我们需要将提交过来的用户名密码,获取过来:
django注册登录功能的实现 Django项目之登录页面怎么写


2)判断用户名是否存在
当提交表单后,我们需要判断该用户是否已经注册
django注册登录功能的实现 Django项目之登录页面怎么写


3)判断用户名是否错误:
当用户名已经存在的时候,我们就要看下密码是否正确了,但是在注册页面的时候,我们把密码设置为hashid了,因此也需要将密码转换一下再做判断
①转换密码为hashid
django注册登录功能的实现 Django项目之登录页面怎么写


②将数据库中的密码与提交密码进行比对
django注册登录功能的实现 Django项目之登录页面怎么写



5.用session记录登录状态:
将用户名与ID记录在session中
django注册登录功能的实现 Django项目之登录页面怎么写



6.记住用户名的设置
当我们点击记住用户名的时候,我们会发现post请求中会对了一对参数‘remember’:’on‘,因此我们可以通过post请求来判断用户是否点击了记住用户名,当点击用户名,我们讲登录状态用cookie记录
django注册登录功能的实现 Django项目之登录页面怎么写



7.需要修改的地方
当我们再进入登录页面的时候,需要做下判断,用户是否已经登录,如果登录了,显示已登录,否则进入到的是登录页面
1)首先判断session是否记录了登录状态:
django注册登录功能的实现 Django项目之登录页面怎么写


2)判断cookie是否记录了登录状态,如果登录了显示已经登录,否则将cookie登录状态同步到session
django注册登录功能的实现 Django项目之登录页面怎么写


8.最终界面
django注册登录功能的实现 Django项目之登录页面怎么写


,

    推荐阅读