django笔记
文章平均质量分 81
Makesths
不论是开发还是测试, 你对一份工作的投入程度决定了你能够发挥的潜力
展开
-
[django项目] 使用自定义通用视图
使用自定义通用视图我们编写好了自定义通用视图, 它大大简化了创建一个新视图的方式, 接下来我们来使用它创建我们其他的菜单一、新闻标签管理功能1. 新闻标签列表1.1 视图class TagListView(MyPermissionRequiredMixin, MyListView): permission_required = ('myadmin.news_tag_list',)...原创 2019-10-13 14:21:33 · 491 阅读 · 0 评论 -
[django项目] 为后台网站编写自定义通用视图
自定义通用视图web后端开发的工作就是对数据的增删改查, 回顾前面的各种功能的代码,会发现有很多的代码冗余。我们一直在做重复的事情。django框架的一个强大的功能就是提供了一个即插即用的管理后台,django-admin。我不会教大家去开发一个django-admin,这对于现阶段的大家来说太过复杂和庞大。先学会一点点的优化,不要尝试一步到位。我们的目的是复用代码, 将相同的视图写成即插即...原创 2019-10-03 14:46:26 · 672 阅读 · 0 评论 -
[django项目] 新闻管理功能
新闻管理功能和前面的相似, 所谓管理其实就是新闻的增删改查I. 业务功能分析新闻的增删改查, 我们的新闻页面将具有这些功能新闻列表查询新增修改II. 新闻列表1>业务流程分析接收参数校验参数查询数据分页2>接口设计2.1>接口说明:类目说明请求方法GETurl定义/admin/newses/参数格式查询...原创 2019-09-10 20:06:28 · 1340 阅读 · 0 评论 -
[django项目] 后台权限分组管理
权限分组管理将多种权限合并到一个组中, 分配时即可一次性分配多种权限, 例如, 售后具有某几种权限, 当有成员被配置为他时就会拥有着几种权限I. 权限分组列表首先咱们来实现权限分组列表, 目的是展示所有的权限组, 同样需要添加一些权限组1>接口设计接口说明类目说明请求方法GETurl定义/admin/groups/参数格式无参数...原创 2019-09-08 21:02:26 · 1878 阅读 · 0 评论 -
[django项目] 后台用户管理功能
用户管理功能用户管理功能也是我们在OA系统中最常见的, 它可以让管理员具有: 查询,修改,删除用户的能力, 那么本次我们就来实现后台功能上的用户管理功能I. 业务功能分析用户管理就是对用户的增删改查, 由于我们已经有了注册功能, 所以增加用户就不需要额外写出来了, 新增管理员可以直接使用命令增加可以把更多的专注点放在其他功能(删改查)的实现上功能分析:用户列表, 展示用户的个人信息,...原创 2019-09-08 21:00:05 · 2595 阅读 · 0 评论 -
[django项目] 后台菜单管理功能
后台菜单管理功能菜单的管理功能其实就是, 对菜单的增删改查I. 业务功能分析1>业务需求分析后台首页菜单根据用户权限动态生成,不同菜单对应不同的功能视图。菜单的增删改查。2>功能分析菜单列表添加菜单修改菜单删除菜单3>模型设计3.1>字段分析name, 菜单名url, 菜单的路由parent, 父菜单的idorder, 排序permi...原创 2019-09-04 07:58:49 · 9041 阅读 · 0 评论 -
[django项目] 给网站添加后台管理系统
后台站点首页功能本次我们来完成针对前端各个模块的管理, 也就是我们的后台管理站点所谓后台, 其功能无非就是:增删改查, 首先我们需要完成一个大体的框架, 然后再慢慢填充各部分功能, 就如同我们对前台做得一样I. 后台模板抽取1>获取静态站点模板本项目选择开源的后台模板AdminLTE,github地址,直接下载zip压缩文件即可。源文件非常大,用到了上百个插件,按需索取即可。下...原创 2019-08-30 17:45:01 · 2992 阅读 · 0 评论 -
[django项目] 如何在网站上实现在线视频功能?
在线视频I. 功能需求分析1>分析在线直播,或点播设计到视频的存储,转码,加密,播放很多细节,个人单独开发不现实。本项目的在线课堂选择在线播放视频的形式。实际项目中一般选择云点播或者内嵌视频网站的方式进行。本项目选择是用百度云VOD点播来实现。2>功能视频展示页面视频播放详情II. 模型设计1>表字段分析老师表姓名职称简介头像课程分类表...原创 2019-08-30 11:43:31 · 9551 阅读 · 0 评论 -
[django项目] 如何在网站上实现文档下载功能?
文档下载功能I. 功能需求分析1>功能文档下载展示页,展示整体的网页框架文档列表,展示可下载的文档,包括标题、封面、简介等文档下载,点击下载原创 2019-08-25 21:33:21 · 792 阅读 · 0 评论 -
[django项目] 新闻页功能模块复盘+总结
新闻页功能模块复盘+总结前言完成了新闻首页与新闻详情页功能后,对主要功能做一些整理,主要目的是梳理首页架构,包括模型表/主要功能模块等,其次是分析实现的思路。学而不思则罔,思而不学则殆 --《论语》I. 功能设计分析废话不多说直接上思维导图II. 代码逻辑整理1>新闻首页除了更多文章模块需要额外的动态加载之外,其他首页上的模块都是在访问新闻首页时就开始加载的1...原创 2019-08-25 21:29:32 · 750 阅读 · 0 评论 -
[django项目] 利用elasticsearch实现搜索功能
新闻搜索I. 搜索功能分析本节我们来完成新闻搜索功能, 首先让我们来思考一下,要做一个通过关键词搜索文章的功能,需要搜索哪些字段,以及使用什么技术方案呢?既然我们是准备做新闻博客网站, 那我们就可以拿同类型网站的做一下对比, 例如CSDN, 简书, 博客园等, 这些常见的博客网站其主要覆盖的搜索字段有:标题内容作者实现这些字段检索的技术方案有以下两种:mysql的模糊查询 %...原创 2019-08-25 11:45:54 · 8851 阅读 · 7 评论 -
[django项目] 在新闻详情页发表评论
新闻详情页I. 功能需求分析1>功能新闻详情加载评论功能添加评论功能II. 新闻详情页1>业务流程分析业务流程:判断前端传递新闻id是否为空,是否为整数,是否存在2>接口设计接口说明:类目说明请求方法GETurl定义/news/<int:news_id>/参数格式url路径参数参数说明:...原创 2019-08-20 22:29:51 · 922 阅读 · 0 评论 -
[django项目] 新闻首页功能 之 轮播图
VI. 轮播图功能1>接口设计接口说明:类目说明请求方法GETurl定义/news/banners/参数格式无参数返回结果:{ "errno": "0", "errmsg": "OK", "data": { "banners": [ { 'image_url...原创 2019-08-19 15:26:06 · 3143 阅读 · 0 评论 -
[django项目] 新闻首页功能 之 展示点击量最高的文章
V. 推荐新闻在首页展示3篇点击量最高的文章1>接口设计接口说明:类目说明请求方法GETurl定义/参数格式无参数2.返回内容返回新闻页面,直接在模板渲染2>后端代码2.1>视图代码# 修改news/views.py中的index视图def index(request): """ 新闻首页视图 ...原创 2019-08-19 12:31:08 · 601 阅读 · 0 评论 -
[django项目] 新闻首页功能 之 文章标签导航与新闻列表
新闻主页I. 功能需求分析首先我们来看一下首页长什么样(使用的是潭州课堂的模板):1>功能剥去顶部,底部和侧边的公共区域不提, 首页上主要的功能有以下五种:轮播图推荐文章列表文章标签导航文章列表分页功能II. 模型设计根据功能分析,我们需要如下表1>表和字段分析文章分类表文章表文章评论表(每个文章都可以进行评论)推荐文章表轮播图表2>...原创 2019-08-19 11:08:59 · 2027 阅读 · 8 评论 -
[django项目] 用户注册登录模块复盘+总结
用户注册登录模块复盘+总结前言之前我们分别完成了注册模块与登录模块, 距离整个博客网站的搭建又近了一步接下来对这两个模块做一下总结, 一是回顾之前的知识点, 二是整理自己的代码思路小编自己首先想到两个问题:为什么不对每个模块做总结? 为什么不在项目的最后总结?首先, 注册与登录虽然是两个模块, 其本质是在于对用户的各项信息进行校验, 所有的功能都是围绕这些信息进行的, 鉴于这种密切的联系...原创 2019-08-14 23:06:00 · 1226 阅读 · 0 评论 -
[django项目] 实现用户登录登出功能
用户登录登出功能I. 功能需求分析1>功能分析1.1>流程图1.2>功能接口登录页面登录功能退出功能II. 登陆页面1>接口设计1.1>接口说明类目说明请求方法GETurl定义/users/login/参数格式无参数1.2>返回结果登陆页面2.后端代码user/views.py代码...原创 2019-08-14 08:10:07 · 3376 阅读 · 2 评论 -
[django项目] 用户注册功能 之 注册用户到数据库
VIIII. 注册功能谋定而后动, 先做分析在写代码1>业务流程分析对参数进行校验判断用户名是否为空,是否已注册判断密码是否为空, 是否一致,格式是否正确判断手机号码是否为空,格式是否正确判断短信验证码是否为空,格式是否正确,是否与真实短信验证码相同新建数据库记录2>接口设计2.1>接口说明:类目说明请求方法POSTur...原创 2019-08-13 22:03:36 · 1113 阅读 · 1 评论 -
[django项目] 用户注册功能 之 发送短信验证码
VIII. 获取短信验证码功能短信验证码功能相比较用户名和手机号验证来说比较难, 我们来具体的分析一下流程1>业务流程分析校验手机号码, 前端校验完后端也要校验, 目的是进一步防止爬虫校验图片验证码设置发送延迟, 检查是否在60s内发送记录生成短信验证码发送短信保存短信验证码与发送记录对于发送短信来说最重要的就是手机号, 其次我们也需要设置一些反爬措施, 以防止有人恶...原创 2019-08-12 22:52:55 · 2299 阅读 · 0 评论 -
[django项目] 用户注册功能 之 用户名与手机号校验
前言书接上文, 完成了图片验证码之后, 接下来就是对用户名密码和手机号的校验相比较而言密码的校验围绕前端代码, 不涉及后台校验, 因此本文密码校验篇幅较少,为的是着重讲解的是用户名和手机号的校验.V. 用户名校验判断用户名是否被注册, 提示验证信息到页面1>接口设计1.1>接口说明类目说明请求方法GETurl定义/username/(?P&l...原创 2019-08-11 10:38:23 · 2723 阅读 · 0 评论 -
[django项目] 用户注册功能 之 用户模型与图片验证码
用户注册功能之前我们完成了模板的抽取和配置, 前端的目标基本完成, 接下来开始对功能的设计与编写由浅入深, 先从最基础的用户注册功能来设计I. 用户模型设计用户表字段分析在设计用户模型之前我们先要分析创建用户所需要的字段, 主要有以下几种:用户名密码手机号邮箱…用户模型设计明确了我们需要的字段, 接下来就需要对用户模型进行设计与编写Django框架非常...原创 2019-08-05 23:13:47 · 837 阅读 · 0 评论 -
[django项目] 静态页面抽取模板
静态页面抽取模板一、分析静态页面1.静态vs动态条目静态页面动态页面网站内容固定不变随访问时间,对象等不断变化访问速度更快,不需要脚本计算及读取后台数据库更慢改变内容不方便,需要修改页面文件然后上传简单,更新数据库即可安全性因为没有后台交互安全性更高有安全隐患,容易被攻击兼容性跨平台,跨服务器依赖网站开发语言环境(python...原创 2019-08-03 21:59:57 · 705 阅读 · 0 评论 -
[django项目] 如何搭建一个完整的项目环境?
项目环境搭建一、在码云平台创建项目git服务平台:主要使用github(最主流)国内访问速度慢托管私有项目收费国内一般使用码云gitee国内访问速度快托管私有项目免费(限制开发人数)公司中使用gitlab或者svn来搭建创建步骤1.注册码云账号注册2.创建仓库登录码云后,通过网站右上角的「+」号,选择「新建仓库」,进入新建仓库页面填写仓库信息,...原创 2019-08-01 22:19:11 · 1829 阅读 · 0 评论 -
QuerySet的特性:惰性和缓存等
对QuerySet的理解是什么?(what)QuerySet是Django的Model中的一种非常重要的概念, 在编写django项目时, 我们会经常用到这一概念. 因为后端的代码与数据库的所有交互都是通过它来完成的.Model.objects.all() # 最常见的queryset为什么要用?(why)QuerySet 可以被构造,过滤,切片,做为参数传递,这些行为都不会对数据库进...原创 2019-08-19 23:04:06 · 803 阅读 · 1 评论 -
[django]中间件&上下文管理器
中间件django中的数据流就是请求和响应, 如果将django比作一个工厂, 数据请求代表进货, 将数据进行加工然后再出货也就是响应, 中间的加工过程就可以用中间件来完成含义: 处理接收的请求和发出的响应的组件, 都是由中间件来完成本质: 是一个具有指定方法的类函数定义中间件文件名命名不受限, 放置的路径也不受拘束, 可以放在django项目下的任意位置, 必须是可导入的路径文件中定...原创 2019-07-29 21:45:50 · 373 阅读 · 0 评论 -
[django] 会话保持及Form表单
会话保持及Form表单session保存状态上面我们使用过cookie来实现将数据保存在客户端中, 但是浏览器存储cookie的方式不太安全那有没有更好些的来存储登入状态的方式呢? 这里有引入了session会话保持首先http协议是无状态的:每次请求都是一次新的请求,不会记得之前通信的状态客户端与服务器端的一次通信,就是一次会话实现 状态保持 的方式:在客户端或服务器端存储与会话有关...原创 2019-06-04 22:43:57 · 354 阅读 · 0 评论