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

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


1.路由的配置

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

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


2.get请求视图文件的配置

跟注册页面一样,我们会收到两种请求,一种是get请求,一种是post请求。

首先我们来看一样get请求,跟注册页面一样,页面收到get请求之后会跳转到登录页面。

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


3.模板文件的设置

我们仍旧需要设置几个选项:用户名、密码、登录界面和记住用户名几个选项。

整体上跟注册页面大同小异,唯一不同的地方是,我们多了一个checkbox选中触发事件,这个选项我们命名为remember,在设置这个选项的时候我们会用到。

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


4.post请求视图文件的配置

刚才我们的get请求已经设置好了,当用户在输入用户名与密码点击登录的时候,post表单就会被提交,然后我们就应该设置post了。

1)获取数据:

我们需要将提交过来的用户名密码,获取过来:

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

2)判断用户名是否存在

当提交表单后,我们需要判断该用户是否已经注册

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

3)判断用户名是否错误:

当用户名已经存在的时候,我们就要看下密码是否正确了,但是在注册页面的时候,我们把密码设置为hashid了,因此也需要将密码转换一下再做判断

①转换密码为hashid

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

②将数据库中的密码与提交密码进行比对

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


5.用session记录登录状态:

将用户名与ID记录在session中

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


6.记住用户名的设置

当我们点击记住用户名的时候,我们会发现post请求中会对了一对参数‘remember’:’on‘,因此我们可以通过post请求来判断用户是否点击了记住用户名,当点击用户名,我们讲登录状态用cookie记录

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


7.需要修改的地方

当我们再进入登录页面的时候,需要做下判断,用户是否已经登录,如果登录了,显示已登录,否则进入到的是登录页面

1)首先判断session是否记录了登录状态:

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

2)判断cookie是否记录了登录状态,如果登录了显示已经登录,否则将cookie登录状态同步到session

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

8.最终界面

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

,

免责声明:本文仅代表文章作者的个人观点,与本站无关。其原创性、真实性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容文字的真实性、完整性和原创性本站不作任何保证或承诺,请读者仅作参考,并自行核实相关内容。文章投诉邮箱:anhduc.ph@yahoo.com

    分享
    投诉
    首页