| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> Python知识库 -> Django项目:极致果蔬(四) -> 正文阅读 |
|
[Python知识库]Django项目:极致果蔬(四) |
本文继续完成项目的内容,下面完成的是用户浏览记录。 1.用户浏览记录? ?在本项目中,当用户每次浏览商品详情时,会向后台发送请求,此时可携带商品ID,然后在Redis数据库中进行存储信息,此时可缓存用户ID和浏览商品的ID,并以浏览商品时间先后顺序进行排序,就可以实现存储用户浏览历史记录。 ? ?此外,我们可以使用Redis数据库的列表来存储商品浏览记录,以用户ID 为key,分别存入商品信息,添加商品历史浏览记录时,用户最新浏览的商品的id从列表左侧默认插入。 ? ?首先,创建一个超级管理员,在goods中的每一个应用里的admin.py中注册模型,在后台显示字段;
? ?在后台添加商品种类,种类logo是一张‘雪碧图’,因此可以切换class来实现图标的定位; ? ? ?接下来,要获取浏览商品记录,则需要用户访问商品详情后,获取相应的GoodSKUBean值(如name、price等)即可,在user/views.py中的UserInfoView类视图中,获取浏览商品记录,并传递给模板;
? ?再在用户中心的个人信息下的模板文件 user_center_info.html 中进行页面渲染,显示数据;
? ? 效果如下: ? ?? ? ? 若要添加用户访问商品详情页面的浏览记录,则需要让用户中心的个人信息显示出最近浏览商品的信息,这里我们需要在goods中实现访问商品详情页,在goods/views.py文件中创建DetailView类视图;
? ?设置分路由;
? ?主路由中的设置;
? ?访问详情页即可在用户中心处的个人信息中查看浏览记录; ? ? 2.上下文处理器? ?这里我们补充一个知识点,上下文处理器是可以返回一些数据,在局部中可以用,在全局模板中也可以使用。比如登录后的用户信息,在很多界面中都需要使用,那么我们可以放在上下文处理器中,就不需要在每个视图函数中都返回这个对象。 ? ?上下文处理器的存放位置? ? ?可以根据上下文处理器是属于哪个app的,然后在这个app中创建一个文件用于存储上下文处理器。比如context_processors.py。或者是你也可以专门创建一个Python包,用来存储所有的上下文处理器。 ? ?上下文处理器的使用 ? ?在定义的上下文处理器文件中,定义一个函数,这个函数只有一个request参数。这个函数中处理完自己的逻辑后,把需要返回给模板的数据,通过字典的形式返回。如果不需要返回任何数据,也必须返回一个空的字典。 ? ?案例: ? 自定义用户登录注册系统时,登录后将用户名放入session中,但是需要在每个页面获取用户的姓名,如果在每一个视图里面写获取逻辑会很麻烦,不利于代码的维护,可以设置全局上下文,获取session中的用户名的值。
? ?到此,在所有模板中都可以访问这个变量。 |
|
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/16 3:27:32- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |