总结---Django部分
Django是走大而全的方向,它最出名的是其全自动化的管理后台:只需要使用起ORM,做简单的对象定义,它就能自动生成数据库结构、以及全功能的管理后台。
Django内置的ORM跟框架内的其他模块耦合程度高。
应用程序必须使用Django内置的ORM,否则就不能享受到框架内提供的种种基于其ORM的便利;理论上可以切换掉其ORM模块,但这就相当于要把装修完毕的房子拆除重新装修,倒不如一开始就去毛胚房做全新的装修。
Django的卖点是超高的开发效率,其性能扩展有限;采用Django的项目,在流量达到一定规模后,都需要对其进行重构,才能满足性能的要求。
Django适用的是中小型的网站,或者是作为大型网站快速实现产品雏形的工具。
Django
模板的设计哲学是彻底的将代码、样式分离; Django从根本上杜绝在模板中进行编码、处理数据的可能。
runserver 方法是调试 Django 时经常用到的运行方式,它使用 Django 自带的
WSGI Server 运行,主要在测试和开发中使用,并且 runserver 开启的方式也是单进程 。
uWSGI是一个 Web 服务器,它实现了WSGI 协议、uwsgi、http 等协议。注意 uwsgi 是一种通信协议,而 uWSGI 是实现 uwsgi 协议和 WSGI 协议的Web 服务器。uWSGI 具有超快的性能、低内存占用和多app 管理等优点,并且搭配着 Nginx
就是一个生产环境了,能够将用户访问请求与应用 app 隔离开,实现真正的部署。相比来讲,支持的并发量更高,方便管理多进程,发挥多核的优势,提升性能。
简述Django对http请求的执行流程
在接受一个Http请求之前的准备
启动一个支持WSGI网关协议的服务器监听端口等待外界的Http请求,比如Django自带的开发者服务器或者uWSGI服务器。
服务器根据WSGI协议指定相应的Handler来处理Http请求,并且初始化该Handler,在Django框架中由框架自身负责实现这一个Handler。
此时服务器已处于监听状态,可以接受外界的Http请求
当一个http请求到达服务器的时候
服务器根据WSGI协议从Http请求中提取出必要的参数组成一个字典(environ)并传入Handler中进行处理。
在Handler中对已经符合WSGI协议标准规定的http请求进行分析,比如加载Django提供的中间件,路由分配,调用路由匹配的视图等。
返回一个可以被浏览器解析的符合Http协议的HttpResponse。
简述Django下的(内建)缓存机制
Django根据设置的缓存方式,浏览器第一次请求时,cache会缓存单个变量或整个网页等内容到硬盘或者内存中,同时设置response头部,当浏览器再次发起请求时,附带f-Modified-Since请求时间到Django,Django 发现f-Modified-Since会先去参数之后,会与缓存中的过期时间相比较,如果缓存时间比较新,则会重新请求数据,并缓存起来然后返回response给客户端,如果缓存没有过期,则直接从缓存中提取数据,返回给response给客户端。
转载于:https://www.cnblogs.com/Dreamxin/p/8335872.html
总结---Django部分相关推荐
- Django学习之路(一)--初识django
1.先创建虚拟环境 为什么要创建虚拟环境呢? 你有两个项目同时进行,一个需要pytnon3.9和Django3.x版本的,一个需要python3.7和Django2.x版本的,不进行环境隔离的话,运行 ...
- django自带的分页功能
django自带的分页功能 django中自带的分页功能有缺陷,但是也是一种思路,所以在下做一个整理,方便以后使用,还有服务各位小伙伴. django视图部分的代码.(注释才是重点) from dja ...
- django正反向查询
django正反向查询 当我们的表存在外键想要从一找多的时候该怎么查找,当我们从多找一的时候又应该怎么查找. 一找多 首先我们要创建一个项目,在项目的model.py中创建两个模型. from dja ...
- Django 布署6.5
布署 从uwsgi.nginx.静态文件三个方面处理 服务器介绍 服务器:私有服务器.公有服务器 私有服务器:公司自己购买.自己维护,只布署自己的应用,可供公司内部或外网访问 公有服务器:集成好运营环 ...
- Django 全文检索6.3
全文检索 全文检索不同于特定字段的模糊查询,使用全文检索的效率更高,并且能够对于中文进行分词处理 haystack:django的一个包,可以方便地对model里面的内容进行索引.搜索,设计为支持wh ...
- Django 缓存6.2
缓存 对于中等流量的网站来说,尽可能地减少开销是必要的.缓存数据就是为了保存那些需要很多计算资源的结果,这样的话就不必在下次重复消耗计算资源 Django自带了一个健壮的缓存系统来保存动态页面,避免对 ...
- Django 第三方引用富文本编辑器6.1
借助富文本编辑器,管理员能够编辑出来一个包含html的页面,从而页面的显示效果,可以由管理员定义,而不用完全依赖于前期开发人员 此处以tinymce为例,其它富文本编辑器的使用可以自行学习 使用编辑器 ...
- Django 分页和使用Ajax5.3
分页 Django提供了一些类实现管理数据分页,这些类位于django/core/paginator.py中 Paginator对象 Paginator(列表,int):返回分页对象,参数为列表数据, ...
- Django 上传图片和Admin站点5.2
上传图片 当Django在处理文件上传的时候,文件数据被保存在request.FILES FILES中的每个键为<input type="file" name="& ...
- Django高级管理静态文件和中间件5.1
管理静态文件 项目中的CSS.图片.js都是静态文件 配置静态文件 在settings 文件中定义静态内容 STATIC_URL = '/static/' STATICFILES_DIRS = [os ...
最新文章
- OpenCV中导向滤波介绍与应用
- wxpython 内嵌字体_【wxPython】wx.font类字体
- LeetCode-334. Increasing Triplet Subsequence
- 电子书百度云 笨办法学python3_百度云资料藤井麻里 从零快乐学日语语法
- python os 文件操作 os.rename(src, dst) 方法 os.renames()
- 【数据竞赛】图像赛排行榜拉开100名差距的技巧
- matlab 计算大圆距离,已知两点经纬度计算两点之间的大圆距离
- html的属性与css的属性,HTML的属性和css基础
- mysql设置字段为空字符串_mysql数据类型字段插入空字符串自动填充为0报错
- 预训练模型的前世今生(有福利!)
- linux tcp cork,Socket选项系列之TCP_CORK(转)
- Django model select的各种用法详解
- xu2w显示屏软件下载_led显示屏控制软件下载
- iOS 模拟器调试web/h5代码
- 10-79 spj-查询供应工程 j1 零件 p1 的供应商
- 液晶面板里面有些什么配件_液晶模组LCM和液晶面板有什么区别
- 数据结构—线性表(第三章)—基本知识点总结
- AngularJS vs. jQuery,看看谁更胜一筹
- android 酷狗demo_酷狗音乐Android客户端详细使用评测
- Mac安装单机版K8S
热门文章
- 安装红帽linux显示半屏,在linux下模拟win+arrow来左右半屏当前窗口
- mac中安装使用podman,替换docker
- java镜像_012 制作Java基础镜像
- 在spring管理的类的要注意问题
- @Configuration使用
- 小D课堂-SpringBoot 2.x微信支付在线教育网站项目实战_2-4.后端项目分层分包及资源文件处理...
- 阶段3 2.Spring_10.Spring中事务控制_5 spring事务控制的代码准备
- springmvc中的session:不比对数据库自动登陆
- iphone移动端踩坑
- ubunt 文件permission denied问题的解决