Day22-1-知识回顾
1. 知识点概要
--Session
--CSRF
--Model操作
--Form验证(ModelForm)
--中间件
--缓存
2.知识回顾
2.1客户端请求及服务器端返回,都包含请求头和body两部分内容。
在源码中,通过\r\n\r\n 来分割请求头和请求内容。(2个换行符)

views:用户请求
request.body:所有数据内容的原生值。下面4种方法实质上都是从request.body中提取数据
request.POST
request.GET
request.FILES
request.XXXX.getlist
request.Meta:请求头request headers中的相关内容
request.method(POST,GET,PUT)
request.path_info
request.COOKIES
把数据返回给用户:也包含响应头和响应内容(response Headers,response body)
1.return HttpResponse("字符串/字节bytes")
a='中国'
response=HttpResponse(a,bytes(a)) 字符串或字节都可以,内容是返回到了body里面
2.return render
3.return redirect
a='中国'
response=HttpResponse(a,bytes(a)) 字符串或字节都可以,内容是返回到了body里面
response.set_cookie() cookie是放到响应头里面去返回的。
response['name']='Alex' 自己给响应头增加内容
return response
2.2 Django之Models操作
表内容操作:
models.TB.objects.create()
models.TB.objects.create(**{})
obj=models.TB(..) obj.save()
models.TB.objects.all()
models.TB.objects.all()[7:10]
models.TB.objects.update()
models.TB.objects.filter(id__in=[1,2,3])
models.TB.objects.filter()
models.TB.objects.filter(XXX_id)
models.TB.objects.delete()
models.TB.objects.values()
models.TB.objects.values_list
models.TB.objects.filter().update()
models.TB.objects.filter().first()
models.TB.objects.filter(**{})
models.TB.objects.filter().count()
models.TB.objects.filter(双下划线跨表)
models.TB.objects.filter(id__gt=1)
models.TB.objects.filter(id__range=[1,2])
models.TB.objects.filter(id__lt=1)
models.TB.objects.filter(id__gte=1)
models.TB.objects.filter(id__lte=1)
models.TB.objects.exclude(id__lte=1)
多对多
obj.set
obj.add(1,2,3)
obj.add([1,2,3])
obj.remove([1,2,3])
obj.clear()
models.TB.objects.all() [obj,obj]
obj.fk.name
models.TB.objects.all().order_by('')
models.TB.objects.distinct()
从B跨表到A用fk,从A跨表到B用 b(表名)_set
class A:
name..
#b_set
class B:
caption..
fk=ForignKey(A)
通过M2M会生成第3张表
class A:
name..
#b_set
class B:
caption..
fk=ManyToMany(A)
2.3 模板语言
A-基本操作
def func(request):
return render(request,'index.html',{'val':[1,2,3]})
#index.html <h1>{{val.0}}</h1>
B-继承 extends "layout.html"
C-include 组件
D-simple_tag,filter
Day22-1-知识回顾的更多相关文章
- [C#] C# 知识回顾 - 你真的懂异常(Exception)吗?
你真的懂异常(Exception)吗? 目录 异常介绍 异常的特点 怎样使用异常 处理异常的 try-catch-finally 捕获异常的 Catch 块 释放资源的 Finally 块 一.异常介 ...
- [C#] C# 知识回顾 - 学会处理异常
学会处理异常 你可以使用 try 块来对你觉得可能会出现异常的代码进行分区. 其中,与之关联的 catch 块可用于处理任何异常情况. 一个包含代码的 finally 块,无论 try 块中是否在运行 ...
- [C#] C# 知识回顾 - 学会使用异常
学会使用异常 在 C# 中,程序中在运行时出现的错误,会不断在程序中进行传播,这种机制称为“异常”. 异常通常由错误的代码引发,并由能够更正错误的代码进行 catch. 异常可由 .NET 的 CLR ...
- [C#] C# 知识回顾 - 异常介绍
异常介绍 我们平时在写程序时,无意中(或技术不够),而导致程序运行时出现意外(或异常),对于这个问题, C# 有专门的异常处理程序. 异常处理所涉及到的关键字有 try.catch 和 finally ...
- [.NET] C# 知识回顾 - Event 事件
C# 知识回顾 - Event 事件 [博主]反骨仔 [原文]http://www.cnblogs.com/liqingwen/p/6060297.html 序 昨天,通过<C# 知识回顾 - ...
- [.NET] C# 知识回顾 - 事件入门
C# 知识回顾 - 事件入门 [博主]反骨仔 [原文]http://www.cnblogs.com/liqingwen/p/6057301.html 序 之前通过<C# 知识回顾 - 委托 de ...
- [.NET] C# 知识回顾 - 委托 delegate (续)
C# 知识回顾 - 委托 delegate (续) [博主]反骨仔 [原文]http://www.cnblogs.com/liqingwen/p/6046171.html 序 上篇<C# 知识回 ...
- [C#] C# 知识回顾 - 委托 delegate
C# 知识回顾 - 委托 delegate [博主]反骨仔 [原文]http://www.cnblogs.com/liqingwen/p/6031892.html 目录 What's 委托 委托的属性 ...
- [C#] C# 知识回顾 - 序列化
C# 知识回顾 - 序列化 [博主]反骨仔 [原文地址]http://www.cnblogs.com/liqingwen/p/5902005.html 目录 序列化的含义 通过序列化保存对象数据 众 ...
- [C#] C# 知识回顾 - 表达式树 Expression Trees
C# 知识回顾 - 表达式树 Expression Trees 目录 简介 Lambda 表达式创建表达式树 API 创建表达式树 解析表达式树 表达式树的永久性 编译表达式树 执行表达式树 修改表达 ...
随机推荐
- RHSCA模拟考试
开始考试:桌面是个黑框子 点击reboot按钮,破解密码 开机成功,输入startx进入图形界面 不能复制,要在物理机用ssh root@172.25.0.11 远程连接,就可以复制粘贴了 * Hos ...
- P3374 【模板】树状数组 1(单点增减,区间求和)
P3374 [模板]树状数组 1 题目描述 如题,已知一个数列,你需要进行下面两种操作: 1.将某一个数加上x 2.求出某区间每一个数的和 输入输出格式 输入格式: 第一行包含两个整数N.M,分别表示 ...
- 搜索引擎ElasticSearch系列(三): ElasticSearch2.4.4 bigdesk插件安装
一:ElasticSearch bigdesk插件简介 bigdesk是elasticsearch的一个集群监控工具,可以通过它来查看es集群的各种状态,如:cpu.内存使用情况,索引数据.搜索情况, ...
- JMeter测试WebSocket的经验总结
最近有一个微信聊天系统的项目需要性能测试,既然是测试微信聊天,肯定绕不开websocket接口的测试,首选工具是Jmeter,网上能搜到现成的方法,但是网上提供的jar包往往不是最新的,既然是用最新版 ...
- Appium+python的单元测试框架unittest(2)——fixtures(转)
(原文:https://www.cnblogs.com/fancy0158/p/10046333.html) unittest提供的Fixtures用以在测试执行前和执行后进行必要的准备和清理工作,可 ...
- Python教程 深入条件控制
while 和 if 条件句中可以使用任意操作,而不仅仅是比较操作. 比较操作符 in 和 not in 校验一个值是否在(或不在)一个序列里.操作符 is 和 is not 比较两个对象是不是同一个 ...
- Linux命令之tar命令
[root@linux ~]# tar [-cxtzjvfpPN] 文件与目录 .... 参数: -c :建立一个压缩文件的参数指令(create 的意思): -x :解开一个压缩文件的参数指令! - ...
- 搭建docker 私有镜像仓库
前期准备 服务器:centos 7.3 docker-ce: 18.06.1-ce docker-compose: 1.22.0 docker 安装 首先,更新系统 yum update yum up ...
- 5个最优秀的微信小程序UI组件库
开发微信小程序的过程中,选择一款好用的组件库,可以达到事半功倍的效果.自从微信小程序面世以来,不断有一些开源组件库出来,下面5款就是排名比较靠前,用户使用量与关注度比较高的小程序UI组件库.还没用到它 ...
- Beta版软件使用说明
1引言 1 .1编写目的 编写本使用说明的目的是充分叙述本软件所能实现的功能及其运行环境,以便使用者了解本软件的使用范围和使用方法,并为软件的维护和更新提供必要的信息. 1 .2参考资料 1 .3术语 ...