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 创建表达式树 解析表达式树 表达式树的永久性 编译表达式树 执行表达式树 修改表达 ...
随机推荐
- iOS 中架构模式的浅显理解
我们开发软件中应用各种模式,主要是为了 职责划分:一个类只做一件事 易用,可维护,方便扩展 解耦,相互独立,可单独测试 各种设计模式其实都是在解决上面的问题,让我们对比看看吧. 一.如何理解MVC设计 ...
- 【MySQL函数】replace()函数
1.replace()函数 语法:replace(a,b,c) a的b部分被c替换 案例:select replace(abcde,bcd,123)-- 结果a123e
- Android Studio 3.1.2 Device File Explorer nothing to show
Android Studio 3.1.2 Device File Explorer nothing to show 不显示 目录 ,空白 手持终端设备: Android 4.2.2 ,API1 ...
- ubuntn 安装软件
安装输入法 一.Ctrl+Alt+T打开终端,输入sudo apt-get install fcitx,安装fcitx插件. 二.打开input method,选择fcitx. 三.打开system ...
- VIN码/车架号的详解,车架号识别,VIN码识别,OCR车架号识别能带来什么
各位车主在车检时不知道有没有注意到一件事,就是工作人员会打开车前盖在前围钢板上拓一张条码.下面来给大家介绍一下,这张条码就是VIN号,俗称钢印号,就像我们每个人都有自己的身份证号码一样,这也是汽车界的 ...
- 【UGUI】 (二)--------- 小地图
在绝大多数游戏中,小地图都是极为常见的一个模块而且十分重要.在Unity里面如何制作一个地图其实也是比较简单的 一. 创建玩家与敌人 创建一个Capsule,命名为Player,代表我们的游戏玩家,创 ...
- socket_tcp协议_loadrunner测试
1.lrs_create_socket("socket0", "TCP", "RemoteHost=127.0.0.1:8888", Lrs ...
- 算法与AI的暗黑面:3星|《算法的陷阱:超级平台、算法垄断与场景欺骗》
算法的陷阱:超级平台.算法垄断与场景欺骗 全书讲算法与AI的暗黑面:价格歧视.导致算法军备竞赛.导致商家降价冲动降低.平台作恶(向劣质商家收费导致品质下降.与开发商一起分析用户隐私)等. 作者从商业. ...
- ip route ifconfig 基本命令
1.route命令 route –n route add –net 192.168.2.0/24 dev eth0 route add –net 192.168.2.0 netmask 255.255 ...
- redis利用key计时与计数
计时 Setex 命令为指定的 key 设置值及其过期时间.如果 key 已经存在, SETEX 命令将会替换旧的值 基本命令: redis 127.0.0.1:6379> SETEX KEY_ ...