![](https://img-blog.csdnimg.cn/20201014180756922.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Django
文章平均质量分 63
番茄西瓜汤
这个作者很懒,什么都没留下…
展开
-
大众点评最新字体解密19年7月
我的原文博客在此、https://www.zhangkunzhi.com/?p=72有网友说我之前写的 大众点评字体解密 的方法已经失效了,所以更新一篇解密 2019年7月25日。查看加密看到都是小框框,为了一探究竟我们查看源码找到加密处所有文字都是  > 这样的怪符号。一脸懵逼,这和之前点评网站的字体反爬完全不同了。查看页...原创 2019-07-28 23:41:17 · 1611 阅读 · 12 评论 -
Django实战【登陆页面】BootStrap、auth、Ajax、forms组件、session、PIL制作验证码
基于用户认证组件和Ajax实现用户登陆验证(图片验证码)运用知识点:BootStrap实现页面设计auth认证组件登陆Ajax异步提交局部刷新校验forms组件制作提交单session储存验证码内容PIL图片制作工具制作验证码(制作躁点)整个目录stting 配置# 因为自定义了 auth模块的 UserInfo表,所以django要设置默认表位置A...原创 2018-08-23 10:37:11 · 1340 阅读 · 0 评论 -
Django 博客项目文章详情页 母版 inclution_tag 样式生成
文章详情页面继承个人站点页面的共同部分. 提取出来base.html 由于用了继承,会传相同参数导致代码复用,inclution_tag 模版语法 (参考)把参数传给 inclution_tag 渲染好公共部分后,直接返回html代码更为方便标签字符[转意]才能格式化出文章样式 safe. 后台必须做一个筛选否则加上safe可能到处xss攻击HTML提取相同的左侧和...原创 2018-08-27 14:24:17 · 361 阅读 · 0 评论 -
Django Cookie的设置、读取、参数和实际基础应用
设置Cookieviews视图response = HttpResponse('登录成功')'''设置cookie : key,value,其他参数'''response.set_cookie('is_login', True, max_age=100) # 设置登录状态response.set_cookie('username', user_info) # 设置登录用户名r...原创 2018-08-20 11:03:39 · 961 阅读 · 0 评论 -
python Django 个人博客首页 单表多表查询渲染
核心该要setting.py 设置 USE_TZ = False 过滤month不好用时改为False(Mysql才会出现)日期归档查询 内置TruncMonth模块date_format的使用将时间格式化为想要的格式extra 注入sql语句,用原生sql语句boot删格系统的练习个人站点自页面路由url的优化 **kwargssetting时区设定# ...原创 2018-08-27 00:50:37 · 365 阅读 · 0 评论 -
实战项目 博客系统 Django
设计需求设计表格原创 2018-08-22 16:28:19 · 614 阅读 · 0 评论 -
Django Forms组件基本使用 校验与渲染标签
基础流程原理from django import forms'''按照Django form组件的要求自己写一个类'''class RegForm(forms.Form): name = forms.CharField(label="用户名") pwd = forms.CharField(label="密码")'''注册视图'''# 使用form组件实现注册方式d...原创 2018-08-17 01:13:38 · 540 阅读 · 0 评论 -
python Django中间件的使用,原理 和实际应用
创建中间件MIDDLEWARE = [ # 自定义 在 对应app内创建一个 my_middleware.py 然后路径填写进来即可]常用两中间件process_request & process_responsefrom django.utils.deprecation import MiddlewareMixin# 导入中间件模块class MD1(Mi...原创 2018-08-22 10:35:14 · 2044 阅读 · 0 评论 -
Django 的分页器,基本使用及案例
'''Paginator创建一个分页对象'''current_page = request.GET.get('p')paginator = Paginator(L, 10)# per_page: 每页显示条目数量# count: 数据总个数# num_pages:总页数# page_range:总页数的索引范围,如: (1,10),(1,200)# page: pag...原创 2018-08-16 18:20:57 · 900 阅读 · 0 评论 -
Django Forms钩子自定义判断校验
先熟悉该功能源码可以更好的理解基础判断成功后才进入钩子判断局部钩子局部钩子,源码已经定义clean_校验字段(self):就会自动触发定义判断'''必须导入该模块才能正常错误提示'''from django.core.exceptions import NON_FIELD_ERRORS,ValidationError'''必须有name这个字段才会触发''...原创 2018-08-19 01:24:37 · 823 阅读 · 0 评论 -
Django Forms组件 的参数配置案例 input样式, 渲染的标签加class 错误信息提示
Forms渲染出标签类型密码型、文本型、邮箱型框from django.forms import widgets# 使用格式方法class UserForm(forms.Form): '''最小4位 且 模式:普通文本''' name = forms.CharField(min_length=4, label='姓名:',widget=widgets.TextInpu...原创 2018-08-19 00:57:21 · 1994 阅读 · 0 评论 -
Django ORM 事物,回滚功能
启动一个区域,区域内代码必须全部顺利执行完毕才会生效,否则其中一个代码失败就会全盘失败import osif __name__ == '__main__': os.environ.setdefault("DJANGO_SETTINGS_MODULE", "BMS.settings") import django django.setup() import ...原创 2018-08-14 00:25:23 · 1927 阅读 · 0 评论 -
Django ORM F与Q 查询
F 查询 用过滤器filter 过滤时 通常与常量比较例如:filter(num__lt=3) 大于3的 如果两个字段值比较filter(num__lt=num2)就会报错, 因为python中没有num2这个变量,而是数据库的字段名 就要用F 查询 filter(num__lt=F(num2))from django.db.models import F # 必须导入...原创 2018-08-14 00:21:48 · 1960 阅读 · 0 评论 -
Django ORM分组查询实例
分组公司员工表 按照部分分组求平均工资:SQL语句select dept,AVG(salary) from employee group by dept;ORM查询:from django.db.models import AvgEmployee.objects.values("dept").annotate(avg=Avg("salary&a原创 2018-08-13 23:44:09 · 9989 阅读 · 0 评论 -
Django ORM 查询语句中的聚合实例使用
聚合aggregate() 聚合 返回字典'''导入聚合工具!'''from django.db.models import Avg, Sum, Max, Min, Count# 求Book价格平均值models.Book.objects.all().aggregate(Avg("price"))# 结果:{'price__avg': 13.233333}要为聚合值指定名称:...原创 2018-08-13 21:50:46 · 893 阅读 · 0 评论 -
Django 博客文章详情页面 点赞功能案例
使用技术利用Ajax点赞 并 局部刷新页面绑定事件 点赞和绑定 灵活处理利用F 页面局部刷新 点赞数反序列json获取布尔值视图布尔值,必须用Json反序列化才能使用F的妙用 点赞数自加1def digg(request): # ajax 是json格式,特殊情况下需要反序列 import json from django.db.mo...原创 2018-08-27 23:51:50 · 3217 阅读 · 1 评论 -
Django Session使用原理基础概念 及 案例
基础概念!!!session针对浏览器,一浏览器对应一session,切换账户也是一个session Session是保存在服务器的键值对 必须依赖于Cookie存Session: 1. 在服务器生成随机字符串; 2. 生成一个和字符串对应的字典,用来储存用户数据 3. 随机字符串当作cookie 返回给浏览器取Session: 1.从Cookie里找随机字符串...原创 2018-08-21 00:12:56 · 1051 阅读 · 0 评论 -
Django Rest Framework 认证、权限-源码分析及使用技巧
pip3 install djangorestframework认证源码梳理从rest_framework的dispatch开始入手观察源码在dispatch中,对原生request进行了封装def dispatch(self, request, *args, **kwargs): self.args = args self.kwargs = kwargs ...原创 2019-02-12 21:45:39 · 277 阅读 · 0 评论 -
restful 的流行规则,开发时尽量遵循
本质是一种规范,在url上可以体现出对规范的操作RESTful API 默认规则API与用户的通信协议,总是使用HTTPs协议。API域名https://api.xxx.com AIP部署专用域名(会有跨域问题)https://www.xxx.com/api/v1/ 后缀方式 【推荐】版本1:例如URL https://www.xxx.com/api/v...原创 2019-02-12 10:08:20 · 720 阅读 · 0 评论 -
Django中CBV与FBV处理csrf_token方法
中间件回顾首先这是5个中间件 常用的是前面3个,后面是报错的情况下才会走process_requestprocess_viewprocess_responseprocess_exceptionprocess_render_templateCSRF是在 process_view 的时候执行校验, process_request 的时候会优先判断过滤条件【是否使用了 csrf_...原创 2019-02-11 21:36:43 · 318 阅读 · 0 评论 -
REST Framework 分页组件
3种分页方法【查看代码片段】PageNumberPagination、xxxx?page=1&size=2LimitOffsetPagination 从第几个到第几个xxxx?limit=1&offset=1CursorPagination 【游标分页会加密,更安全】xxxx?cursor=cj0xJnA9NQ%3D%3D实例Page...原创 2019-02-17 12:20:41 · 311 阅读 · 0 评论 -
REST Framework 版本控制
通常情况通常我们直接调用rest框架提供给我的方法就够用了rest框架提供的版本控制类,其中有5个类可以调用包含:host头携带版本、协议头携带版本、路由携带、namespace携带一般情况都用QueryParameterVersioning如下示例配置文件'''rest框架提供的版本控制类,其中有5个类可以调用包含:host头携带版本、协议头携带版本、路由携带、namespace携带...原创 2019-02-15 22:49:00 · 292 阅读 · 0 评论 -
Rest framework 自动路由与视图
视图流程自己写路由这里的自己写路由指的 在view中继承了 ModelViewSet 才这样调用点击查看完整代码片段【调用内置ModelViewSet版】点击查看完整代码片段【自己封装版】from django.urls import pathfrom app01.views import BookModelViewSeturlpatterns = [ # 如果使用a...原创 2019-02-15 21:20:08 · 413 阅读 · 0 评论 -
Django2 路由分发Path源码解析
早期版本早期版本路由配置都是用的url(),后面是path 和re_path,也可以使用url() 但是我们进入url后,会看到如下代码def url(regex, view, kwargs=None, name=None): return re_path(regex, view, kwargs, name)正题当创建项目后,setting.py 中 会有一个配置url路由...翻译 2019-01-22 22:45:59 · 721 阅读 · 0 评论 -
跨域请求两种方法 jsonp和cors
在网站后台跨域访问另一服务器时,若被访问服务器未设置response[‘Access-Control-Allow-Origin’] = ‘*’ 那么将无法获取。jsonp方法伪造ajax提交请求请求端 // 基于jsonp // 原理: ajax 不能直接跨域 。 //向html中加入script标签 含有访问路径,script标签直接访问路径达到效果 $(...原创 2018-11-06 23:32:11 · 232 阅读 · 0 评论 -
Django 富文本编辑框kindeditor、生成摘要 与 防XSS攻击
富文本编辑框kindeditor基础使用方法可以在官网查看pip3 install BeautifulSoup4# 1 scritp 引入路径# 2 利用文档加参数# 3 摘要自动生成,用文本截摘要(不能用上传的content!!,因为含有标签)from bs4 import BeautifulSoupsoup = BeautifulSoup('包含标签的字符串', 'ht...原创 2018-08-30 12:00:29 · 599 阅读 · 0 评论 -
Django 博客项目:文章评论功能、子评论的评论功能
该要根评论分为:render页面刷新时更新瓶绿、Ajax提交后局部刷新评论(创建html代码,并插入对应部位)插入html代码子评论:focus() 获取焦点,取父评论人名字: 在回复按钮上自定义一个username='标签上获取到的父名'在jquery中再用.attr('自定义名')获取值事务回滚 ransaction发送邮件功能在jquery中插入html代码,用反`符号...原创 2018-08-30 11:52:20 · 5368 阅读 · 0 评论 -
Django 博客项目 设计系统首页 admin组件的使用 media用户文件夹
核心点admin组件的调用与使用boot设置整体首页样式导航顶部登陆与未登陆情况两种样式时区的设置方法每条新闻展示作者、发布时间、点赞评论数….效果预览设置admin组件自动创建路由path(‘admin/’, admin.site.urls),先要create一个supper账户 运行manage.py 创建在对应app内的 admin.py中...原创 2018-08-25 00:11:12 · 361 阅读 · 0 评论 -
Django 自带的用户认证系统auth
auth相关模块# auth主认证模块from django.contrib.auth.models import auth#对应数据库,可以创建添加记录 from django.contrib.auth.models import User匿名用户 username 为 None ….登陆# if有这个用户返回user对象,否则返回None# 先验证是否有该...原创 2018-08-21 14:01:49 · 2458 阅读 · 0 评论 -
Django实战博客系统,注册账号板块功能实例
功能概要基于 forms组件 和 Ajax 实现注册功能注册头像上传、预览利用Ajax错误信息提示局部钩子:检查user是否已注册全局钩子:检查两次密码是否相同利用表格字段FileField上传头像图片Media配置用户资源储存文件夹配置Media文件路径为可访问权限...原创 2018-08-24 00:11:20 · 386 阅读 · 3 评论 -
django 报错解决方案
端口被占用原创 2018-08-09 00:27:01 · 539 阅读 · 0 评论 -
Django 静态文件相关
配置路径的方法'''setting.py文件底部设置'''STATIC_URL = '/static/' # 真正使用的别名STATICFILES_DIRS = [ # 上面一行的STATIC_URL = '/static/' 路径代替jion的地址 os.path.join(BASE_DIR, 'static') # 把新增加的添加到内置的STATICFIL...原创 2018-08-09 00:14:19 · 195 阅读 · 0 评论 -
Django 基础知识、常用模块、路由、视图、模版语法
【Django 简介】post 与 get 取值Django最简版案例屏蔽-提交POST的错误提示【常用模块】视图views常用urls 访问连接常用【路由访问url控制】内部文件路径static设置访问url、匹配对应页面分发给对应项目根目录访问 index页面正则分组[ 有名 - 无名] 分组反解析 - 动态获取路径名称空间 - ...原创 2018-08-02 20:36:09 · 1219 阅读 · 0 评论 -
Django的MTV模式
Django的MTV模式Model(模型):负责业务对象与数据库的对象(ORM)Template(模版):负责如何把页面展示给用户View(视图):负责业务逻辑,并在适当的时候调用Model和Template此外,Django还有一个urls分发器,它的作用是将一个个URL的页面请求分发给不同的view处理,view再调用相应的Model和Template 一个Djan...原创 2018-08-07 10:29:36 · 446 阅读 · 0 评论 -
Django 查询
最终效果 新增 修改 背景 三张表: 【作者】 【书籍】 【出版社】 因为作者与书籍存在多对多所以会多生成出一张关系表三个数据库字段from django.db import models# 作者表class Author(models.Model): id = models.AutoField(primary_key=True) ...原创 2018-08-14 14:55:50 · 9585 阅读 · 3 评论 -
Django 链表查询、多对多建表
背景 有两张表 1. 作者 2.书籍 关系:一个作者可以写多本书、一本书也可以多个作者'''作者表'''class Author(models.Model): id = models.AutoField(primary_key=True) name = models.CharField(max_length=16,null=False,unique=...原创 2018-08-06 21:13:50 · 1027 阅读 · 0 评论 -
ORM 常用字段,定于语法,实例
ORM 常用字段,定于语法,实例原创 2018-08-10 23:16:55 · 730 阅读 · 0 评论 -
django path - 封装正则 自动转换类型
django2.0版的path中规则- 使用尖括号<>从url中捕获- 语法:<内置匹配器:自定义名> 自定义名传给视图内,request后封装了5种匹配方法例子from django.urls import path from . import views # 导入视图路径urlpatterns = [ path('...原创 2018-08-10 21:33:18 · 862 阅读 · 0 评论 -
django 名称空间 - 解决多APP内别名相同
django 名称空间 - 解决多APP内别名相同# 取别名--名称空间include内以元祖形式,跟第二个参数别名re_path(r'app01/',include(('app01.urls','名称空间别名'))) # include分发对应app# 那么在views 内反解析时,固定语法reverse("名称空间:名称空间别名")reverse("名称空间:名称空间别名")#...原创 2018-08-10 21:29:10 · 697 阅读 · 0 评论 -
Django反解析 - 动态获取路径
Django反解析 - 动态获取路径 解释1:为了拓展性 例:在urls中,其一页面修改路径,为了不在html代码中繁琐更新,那HTML页面要动态获取新路径 :解释2:随着功能的增加会出现更多的视图,可能之前配置的正则表达式不够准确,于是就要修改正则表达式,但是正则表达式一旦修改了,之前所有对应的超链接都要修改,真是一件麻烦的事情,而且可能还会漏掉一些超链接忘记修改,有办法让...原创 2018-08-10 21:26:35 · 1002 阅读 · 0 评论