基于Django的商城开发项目笔记(三)

十二、父模板页抽象

12.1取一个静态页面作为模板,命名为base.html

12.2对比所有静态页面代码,将所有页面都有的部分代码保留,将不同的部分取出存入块中

12.3base.html的代码如下:

12.4修改register.html代码,继承base.html模板:

十三、用户中心页面显示

13.1复制用户中心页面到模板文件夹中:

13.2继承之前写的base_user_center模板,该模板的代码如下:

13.3 user_center_info.html只需重写右侧内容块:

13.4配置对应的路由,在user/urls.py中配置:

13.5使用登录装饰器LoginRequired来判断用户登录状态:

13.5.1在dailyfresh项目中创建utils文件夹:

13.5.2在mixin.py文件中创建LoginRequiredMixin类:

13.5.3在user/view.py中创建UserInfoView、UserOrderView和AddressView类继承LoginRequiredMixin类:

13.5.4设置新的登陆后跳转地址,在user/view.py中的LoginView中:

13.6用户登陆后显示欢迎信息和用户注销功能:

13.6.1用户登陆后显示用户信息页:

13.6.2在base.html中修改页面顶部欢迎信息:

13.6.3退出登录功能的实现:

13.6.3.1在user/view.py中新建LogoutView类:

13.6.3.2在uesr/urls.py中配置路由:

13.7用户中心地址页面的逻辑:

13.7.1在user/view.py中写AddressView类的逻辑:

     

          

13.7.2在user/models.py中添加Address模型管理器类:

13.7.3在user/models.py中的Address模型类中自定义模型管理器对象:

13.7.4在user_center_site.html页面中显示地址信息:

13.7.5在user_center_site.html页面中设置添加地址的表单属性:

13.8用户中心个人信息页面的逻辑:

13.8.1在user/view.py文件中创建UserInfoView类:

  

13.8.1.1关于使用redis数据库存储用户浏览记录的分析:

13.8.2在user_center_info.html文件中修改页面配置:

猜你喜欢

转载自blog.csdn.net/qq_40652101/article/details/89348815