网站建设与推cctv-10,医院网站建设标书,网站建设怎么分析市场,宜兴百度推广1. Http协议#xff1f; Http协议就是一个传输数据格式 我原来学习django框架#xff0c;从socket服务端开始学起。 自己创造了一个socket服务器来充当#xff1a;网站。 浏览器当socket客户端。 更清楚的明白到底http协议是什么#x…1. Http协议 Http协议就是一个传输数据格式 我原来学习django框架从socket服务端开始学起。 自己创造了一个socket服务器来充当网站。 浏览器当socket客户端。 更清楚的明白到底http协议是什么 - 请求头 请求体 - 响应头 响应体 一次请求响应后断开连接。 2. 常见请求头 - Content-Type , 媒体类型信息 - User-Agent, 用户信息 - referer可以做图片防盗链。 - Host, 域名和端口号 - cookies 3. 常见的请求体 Form表单提交 POST /index http1.1\r\nhost:www.luffycity.com...\r\n\r\nusernamealexpassword123... Ajax请求 POST /index http1.1\r\nhost:www.luffycity.com...\r\n\r\nusernamealexpassword123... POST /index http1.1\r\nhost:www.luffycity.com...\r\n\r\n{“username”:alex,password:123} 补充django中获取请求体 - request.POST - request.body (为反序列化的数据) 4. django请求生命周期 - wsgi, 他就是socket服务端用于接收用户请求并将请求进行初次封装然后将请求交给web框架Flask、Django - 中间件帮助我们对请求进行校验或在请求对象中添加其他相关数据例如csrf、request.session - 路由匹配 - 视图函数在视图函数中进行业务逻辑的处理可能涉及到orm、templates 渲染 - 中间件对响应的数据进行处理。 - wsgi,将响应的内容发送给浏览器。 5. 中间件 - 5个方法 - 应用场景 - 登录认证不再需要在每个函数中添加装饰器 - 权限当用户登录时候获取当前用户所有权限并放入session然后再次访问其他页面获取当前url并在session中进行匹配。如果没有匹配成功则在中间件返回“无权访问” - 跨域 - jsonp动态创建一个script标签。 - cors设置响应头 应用本地开始前后端分离的时使用。 6. ORM操作 - only - defer - seleted_related - prefetch_related 示例 class Depart(models.Model): 5个部门 title models.CharField(...) class User(models.Model): 10个用户 name models.CharField(...) email models.CharField(...) dp models.FK(Depart) 1.以前的你11次单表查询 result User.objects.all() for item in result: print(item.name,item.dp.title) 2. seleted_related主动做连表查询1次链表 result User.objects.all().seleted_related(dp) for item in result: print(item.name,item.dp.title) 问题如果链表多性能越来越差。 3. prefetch_related2次单表查询 # select * from user ; # 通过python代码获取dp_id [1,2] # select * from depart where id in dp_id result User.objects.all().prefetch_related(dp) for item in result: print(item.name,item.dp.title) 赠送 数据量比较大不会使用FK允许出现数据冗余。 7. django rest framework的作用 快速搭建基于restful规范的接口。 8. 你理解的 restful 规范 restful是一个规范规定API如何编写通过他可以让我们api更加简洁可维护。 如最直观的 method - get - post - put - delete 原来都是url中设置的。 除此之外 - api - 版本 - 名词 - 条件 - 状态码 - 返回值 - 错误信息 - hypermedia link 9. django rest framework组件 - 访问频率控制原理 匿名 1.1.1.1:[时间,时间,时间,时间,] 登录 user:[时间,时间,时间,时间,] 默认将访问记录放在缓存中redis/memcached - 序列化 from rest_framework.serializers import Serializer class XX(Serializer): pass ser XX(queryset,manyTrue) # ListSerializer对象 ser XX(obj, manyFalse) # XX对象 - 列表生成式 - 根据字符串的形式自动导入模块并使用反射找到模块中的类【参考s9day108】。 10.什么是面向过程面向函数和面向对象? 面向过程的程序设计的核心是过程流水线式思维过程即解决问题的步骤面向过程的设计就好比精心设计好一条流水线考虑周全什么时候处理什么东西。 面向对象的程序设计的核心是对象上帝式思维, 将(具有相同特性的一类事物)的属性和方法封装到一个类中,然后实例化之后就是一个对象(具体的事物). 面向对象的三大特性 1、封装 根据职责将属性和方法封装到一个抽象的类内 2、继承 主要是为了实现代码的重用相同的代码不需要重复的编写 3、多态 不同的对象调用相同的方法产生不同的执行结果增加代码的灵活度 11. Django使用原生SQL的方法:(三种) 一extra:结果集修改器一种提供额外查询参数的机制 二raw:执行原始sql并返回模型实例 三直接执行自定义Sql 12. Django中ORM支持事物操作 from django.db import transaction try: with transaction.atomic(): sql语句 except Exception as e: return HttpResponse(出现错误....) 转载于:https://www.cnblogs.com/l-jie-n/p/9941786.html