![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Django框架
生有涯,知无涯
登高而招,臂非加长也,而见者远;顺风而呼,声非加疾也,而闻者彰。假舆马者,非利足也,而致千里;假舟楫者,非能水也,而绝江河。君子生非异也,善假于物也。
展开
-
Django的请求与响应
Django的请求与响应一、请求利用HTTP协议向服务器传参有以下几种途径:提取URL的特定部分,如/weather/beijing/2018,可以在服务器端的路由中用正则表达式截取;查询字符串(query string),形如key1=value1&key2=value2;请求体(body)中发送的数据,比如表单数据、json、xml;在http报文的头(header)中。...原创 2019-05-24 19:38:00 · 378 阅读 · 0 评论 -
Django ORM优化
一、orm优化1.数据库技术进行优化,包括给字段加索引,设置唯一性约束等等;2.查询过滤工作在数据库语句中做,不要放在代码中完成(看情况);3.如果要一次查询出集合的数量,使用count函数,而不是len函数,但是如果后面还需要到集合,那就用len,因为count还需要进行一次数据库的操作;4.避免过多的使用count和exists函数;5.如果需要查询对象的外键,则...原创 2019-10-08 13:55:15 · 798 阅读 · 0 评论 -
Django ORM的aggregate()和annotate()、value()和value_list()的区别
一、aggregate()和annotate()aggregate 和 annotate 用于查询查询结果集的,区别在于aggregate 是全部结果集的查询,annotate则是分组查询的。一般会用到功能函数Avg、Max、Min、Count、Sum。1.aggregate()aggregate()为所有的QuerySet生成一个汇总值,相当于Count()。返回结果类型为字典Dict。...原创 2019-10-08 11:40:47 · 1293 阅读 · 0 评论 -
windows环境下Django(及DRF)开发环境配置
1.安装虚拟环境1.新建并在cmd中打开某一个文件夹(按住shift并邮件单击该文件夹,选择在命令窗口打开),例如D盘新建MyDjango文件夹。2.安装 virtualenvwrapper (windows上安装virtualenvwrapper-win)pip install virtualenvwrapper-win或者安装pip install virtualenv安装成功...原创 2019-07-27 15:33:10 · 596 阅读 · 0 评论 -
Django开发过程中【数据库的优化】【提升性能(高并发))】【代码优化】(面试可能用到)
1.设计表时,尽量少使用外键,因为外键约束会影响插入和删除性能。可参照以下文章——“58到家数据库30条军规解读”:https://blog.csdn.net/qq_38923792/article/details/93135629 禁止使用外键,如果有外键完整性约束,需要应用程序控制解读:外键会导致表与表之间耦合,update与delete操作都会涉及相关联的表,十分影响sql ...原创 2019-07-11 18:45:36 · 992 阅读 · 0 评论 -
django的url匹配流程
URL匹配流程(路由解析顺序)URL匹配流程说明1.域名、端口、端口后的 /,以及查询字符串(问号后面的键值参数)不参与匹配2.先到项目下的 urls.py 进行匹配,再到应用的 urls.py 匹配3.根据url配置的先后顺序,从上到下进行URL匹配4.在项目下匹配成功的URL部分会去掉,剩下的部分继续到应用下作匹配5.如果匹配成功,Django会调用对应的视图函数,返回响应内容...原创 2019-07-06 16:46:56 · 1449 阅读 · 0 评论 -
使用乐观锁处理商品超卖的问题
1.问题引入电商这类购物网站,涉及到多张数据表的IO操作,针对购物来说,用户将商品加入购物车时,会判断购买数量是否小于商品库存,这样才能成功加入购物车。同理,当用户提交订单时,通常的逻辑是:先判断购物车的每一个商品的购买数量是否小于库存量。如果小于库存量,表示可以提交订单,然后修改库存值,更新销量值。否则订单就会创建失败,返回库存不足的提示。但判断数量是否低于库存量,再到更新库存信息和销量信息时...原创 2019-06-19 11:29:39 · 4114 阅读 · 0 评论 -
页面静态化思想以及Django的定时任务
1.引入页面静态化:类似于京东、天猫等商城的首页频繁被访问,为了提升访问速度,除了使用缓存技术外,还可以使用页面静态化技术。页面静态化即将动态渲染生成的页面结果保存成html文件,放到静态文件服务器中。用户访问的时候访问的直接是处理好之后的html静态文件。对于页面中属于每个用户展示不同数据内容的部分,可以在用户请求完静态化之后的页面后,在页面中向后端发送请求,获取属于用户的特殊的数据。2...原创 2019-06-13 15:43:51 · 234 阅读 · 0 评论 -
Django介绍、工程搭建、配置、静态文件与路由
Django介绍、工程搭建、配置、静态文件与路由1. Web应用程序处理流程客户端:发起HTTP请求,接收HTTP响应。例如:浏览器、ajax请求、爬虫程序(模拟浏览器请求)、app服务器程序:接收HTTP请求报文、解析HTTP请求报文、构造HTTP响应报文、返回HTTP响应报文例如:Gunicorn 、uwsgi框架程序:–HTTP请求对象(request)—中间层(fl...原创 2019-05-23 23:28:00 · 399 阅读 · 0 评论 -
开发Web应用的两种应用模式
Web应用模式在开发Web应用中,有两种应用模式:前后端不分离前后端分离1 前后端不分离在前后端不分离的应用模式中,前端页面看到的效果都是由后端控制,由后端渲染页面或重定向,也就是后端需要控制前端的展示,前端与后端的耦合度很高。这种应用模式比较适合纯网页应用,但是当后端对接App时,App可能并不需要后端返回一个HTML网页,而仅仅是数据本身,所以后端原本返回网页的接口不再适用于...原创 2019-05-27 18:55:35 · 1489 阅读 · 0 评论 -
Django ORM的F和Q查询
1.F查询Django 提供 F() 来对两个字段的值做比较。(1) F() 的实例可以在查询中引用字段,来比较同一个 model 实例中两个不同字段的值。查询书id大于\小于价格的书籍models.Book.objects.filter(id__gt=F("price"))<QuerySet []>models.Book.objects.filter(id__lt=...原创 2019-10-08 14:23:45 · 594 阅读 · 0 评论