栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 系统运维 > 运维 > Linux

天天生鲜首页——基于Django框架的天天生鲜电商网站项目系列博客(七)

Linux 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

天天生鲜首页——基于Django框架的天天生鲜电商网站项目系列博客(七)

系列文章目录
    需求分析——基于Django框架的天天生鲜电商网站项目系列博客(一)网站框架搭建——基于Django框架的天天生鲜电商网站项目系列博客(二)用户注册模块——基于Django框架的天天生鲜电商网站项目系列博客(三)用户登录模块——基于Django框架的天天生鲜电商网站项目系列博客(四)用户中心模块——基于Django框架的天天生鲜电商网站项目系列博客(五)分布式FastDFS文件系统——基于Django框架的天天生鲜电商网站项目系列博客(六)天天生鲜首页——基于Django框架的天天生鲜电商网站项目系列博客(七)天天生鲜详情页——基于Django框架的天天生鲜电商网站项目系列博客(八)待更新……

项目资源下载
    天天生鲜电商网站项目源码Github地址(可Fork可Clone)天天生鲜电商网站项目源码Gitee地址(可Fork可Clone)天天生鲜电商网站项目源码压缩包下载(直接使用)天天生鲜电商网站项目所需全部工具合集打包下载(nginx、libfastcommon、fastdfs-nginx、fastdfs)天天生鲜电商网站项目MySql数据库文件(直接导入MySql数据库)Django1.8官方文档(中文版)

文章目录

系列文章目录项目资源下载前言一、导入数据二、商品模型类概述三、首页内容获取和展示四、redis存储购物车记录分析五、首页获取购物车商品数目六、页面静态化celery生成首页静态页面七、配置nginx提交静态页面八、admin管理更新首页数据表数据时重新生成index静态页面九、静态index页面和IndexView的调度说明十、首页数据缓存设置和获取十一、首页缓存数据的更新十二、常见问题解答

12.1 首页获取购物车商品数目时出错 总结


前言

  今天这篇博客终于要迎来重头戏了,我们要导入我们的数据,并且要完善数据库以及数据库和网站的交互,并且设计网站首页界面,让数据在网站上展示出来,并且配置各页面之间的调度功能以及数据缓存功能,还包括一些页面静态化和缓存数据的知识,这篇博客异常重要的原因就是上面,另外所需工具和数据我都放在了上面的链接,如有需要,直接下载即可,那么就开始今天的学习吧!


一、导入数据
    取消外键约束
    导入数据
    恢复外键约束
二、商品模型类概述
    首先要显示首页界面,所以修改index.html,继承base.html,还有其他修改
    重新修改视图函数
    因为这是首页,所以不管在哪都应该能访问到,那么首先在项目的urls.py中修改
    然后在应用的urls.py中修改
    成功展示界面
三、首页内容获取和展示
    首先我们要修改数据库内容。在上一篇博客中我说了我要介绍不用FastDFS分布式的方法,这里就是,如有需要希望仔细学习。因为最后上服务器跑素材也都要放到服务器,索性就直接把数据库中的图片改成相对路径就可以了,这个相对路径就是项目中static中那些素材路径,所有的都要改,一个一个来,既然不想用FastDFS就要麻烦一点哈哈
    然后正式开始制作首页内容,我们先来分析一下,这是到现在第一次用到数据库,先来看models.py的内容,这里直接和数据库做交互
    然后来到视图函数,从现在开始我们是在goods这个应用中,我们先导入刚才的models.py中的模块
    然后新建视图类,继承View
    因为在首页都是get请求,所以我们新建get函数
    然后在这个函数中,获取商品的各种信息
    然后组织模板上下文,把所有获取到的内容存到字典中,以便一会传到html中
    然后就是使用模板,传入刚才获取到的内容
    整体代码如下
    然后来到index.html中,我们首先需要继承自base.html
    我们还要把继承过来的块放到相应位置,然后用for循环接收刚才的内容,都放到相应的位置,如下:

    完成,最终展示效果如下:
四、redis存储购物车记录分析

五、首页获取购物车商品数目
    导入需要的库
    修改视图函数
    修改模板文件
    这里可能会遇到一个问题,具体见十二、常见问题解答中的12.1 首页获取购物车商品数目时出错
六、页面静态化celery生成首页静态页面
    这是什么?
    创建task.py
    分别拷贝base.html和index.html

七、配置nginx提交静态页面

八、admin管理更新首页数据表数据时重新生成index静态页面
    流程图示
    代码如下

九、静态index页面和IndexView的调度说明

十、首页数据缓存设置和获取
    首先导入所需库
    修改视图函数,首先将公共的部分提取到设置缓存前面,我们要把这些放到缓存中,因为购物车记录不是公共的,所以不放在那里
    然后 在下面设置缓存,传入数据
    然后把购物车记录更新到数据中
    这个时候在视图函数最开始我们要判断一下,我们先接收缓存数据,如果为空,则没有设置缓存,我们就要在数据库中调用数据,最后设置一下缓存就好了,这里print一下,看是否缓存成功
    然后下面的所有代码缩进,整体代码如下:
    redis中已经有了缓存数据
十一、首页缓存数据的更新

十二、常见问题解答 12.1 首页获取购物车商品数目时出错
    具体错误
    错误原因
    解决方法

总结

  这篇博客也终于完成了,有点长啊,一万多字了都,但是功夫不负有心人,网站首页我们已经完成了,接下来就一步一步完成每个模块就好了,下一篇博客会给大家带来网站详情页的搭建!

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/729607.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号