7.28 week5-4

7.用户信息模块

7.1内置User实现注册登录

Django内置了用户管理功能,即模型User,对应数据表auth_user,该表一共定义了11个字段,

auth_user表字段

7.2登录/注册的业务逻辑

【页面功能】页面主要是登录/注册表单,包含了两个文本框和一个登录/注册按钮。

【登录/注册逻辑】视图采用GET/POST方法获取提交的数据,

        POST:首选判断两个文本框的数据格式有无错误,如不能为空、账号必须为手机号格式。然后判断账号是否已存在,不存在则自动注册账号,显示注册成功信息;存在则判断密码是否正确,正确则登录并重定向个人中心页面,不正确则不能登录。

【ModelForm】使用ModelForm提交表单:

    》“lay-verify”:layui框架的功能,对文本框的数据进行限制,如required表示不能为空,phone表示必须为手机号格式。在模板中的JS进行配置即可显示错误信息。

    》Form和ModelForm的参数还有很多,具体参考书。

ModelForm

【视图函数】

与之前学的一样:GET直接提交组件,POST将数据传入组件,然后进行数据验证。

login、logout、authenticate均是内置模块,实现登录、退出登录和记录账号信息。

用户登录视图

7.3登录/注册页面数据渲染

与之前类似,直接引用输入框即可

账号框
密码框

JS实现layui功能,即显示ModeForm中定义的错误信息:

JS

7.4登录/注册效果

手机号格式错误
输入框不能为空
注册成功

7.5个人中心页面

【业务逻辑】个人中心页面包括两个板块:左边是用户基本信息,显示用户头像、手机号和最后登录时间,同时实现查看购物车和退出登录功能;右边显示该用户所有所有订单的信息。

        由于只有用户登录了才能查看个人中心,因此在个人中心视图前加个装饰器,判断用户是否登录,未登录时自动跳转至登录页面。

效果图

【视图函数】

①装饰器判断用户是否登录;

②p获取当前页数,实现分页功能;

③orderInfos获取当前用户的订单信息;

④处理已支付订单与购物车页面相应,日后再讲。

个人中心视图函数

【模板显示】

    html比较简单,都是直接显示数据即可。购物车和退出登录跳转至各自路由即可。

    JS导入laypage,实现分页功能

JS

【退出登录】

        直接使用内置模块logout实现退出登录,然后重定向至商城首页:

退出登录按钮
退出登录视图函数
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容