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-知识回顾的更多相关文章

  1. [C#] C# 知识回顾 - 你真的懂异常(Exception)吗?

    你真的懂异常(Exception)吗? 目录 异常介绍 异常的特点 怎样使用异常 处理异常的 try-catch-finally 捕获异常的 Catch 块 释放资源的 Finally 块 一.异常介 ...

  2. [C#] C# 知识回顾 - 学会处理异常

    学会处理异常 你可以使用 try 块来对你觉得可能会出现异常的代码进行分区. 其中,与之关联的 catch 块可用于处理任何异常情况. 一个包含代码的 finally 块,无论 try 块中是否在运行 ...

  3. [C#] C# 知识回顾 - 学会使用异常

    学会使用异常 在 C# 中,程序中在运行时出现的错误,会不断在程序中进行传播,这种机制称为“异常”. 异常通常由错误的代码引发,并由能够更正错误的代码进行 catch. 异常可由 .NET 的 CLR ...

  4. [C#] C# 知识回顾 - 异常介绍

    异常介绍 我们平时在写程序时,无意中(或技术不够),而导致程序运行时出现意外(或异常),对于这个问题, C# 有专门的异常处理程序. 异常处理所涉及到的关键字有 try.catch 和 finally ...

  5. [.NET] C# 知识回顾 - Event 事件

    C# 知识回顾 - Event 事件 [博主]反骨仔 [原文]http://www.cnblogs.com/liqingwen/p/6060297.html 序 昨天,通过<C# 知识回顾 - ...

  6. [.NET] C# 知识回顾 - 事件入门

    C# 知识回顾 - 事件入门 [博主]反骨仔 [原文]http://www.cnblogs.com/liqingwen/p/6057301.html 序 之前通过<C# 知识回顾 - 委托 de ...

  7. [.NET] C# 知识回顾 - 委托 delegate (续)

    C# 知识回顾 - 委托 delegate (续) [博主]反骨仔 [原文]http://www.cnblogs.com/liqingwen/p/6046171.html 序 上篇<C# 知识回 ...

  8. [C#] C# 知识回顾 - 委托 delegate

    C# 知识回顾 - 委托 delegate [博主]反骨仔 [原文]http://www.cnblogs.com/liqingwen/p/6031892.html 目录 What's 委托 委托的属性 ...

  9. [C#] C# 知识回顾 - 序列化

    C# 知识回顾 -  序列化 [博主]反骨仔 [原文地址]http://www.cnblogs.com/liqingwen/p/5902005.html 目录 序列化的含义 通过序列化保存对象数据 众 ...

  10. [C#] C# 知识回顾 - 表达式树 Expression Trees

    C# 知识回顾 - 表达式树 Expression Trees 目录 简介 Lambda 表达式创建表达式树 API 创建表达式树 解析表达式树 表达式树的永久性 编译表达式树 执行表达式树 修改表达 ...

随机推荐

  1. iOS 中架构模式的浅显理解

    我们开发软件中应用各种模式,主要是为了 职责划分:一个类只做一件事 易用,可维护,方便扩展 解耦,相互独立,可单独测试 各种设计模式其实都是在解决上面的问题,让我们对比看看吧. 一.如何理解MVC设计 ...

  2. 【MySQL函数】replace()函数

    1.replace()函数 语法:replace(a,b,c) a的b部分被c替换 案例:select replace(abcde,bcd,123)-- 结果a123e

  3. 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 ...

  4. ubuntn 安装软件

    安装输入法 一.Ctrl+Alt+T打开终端,输入sudo apt-get install fcitx,安装fcitx插件. 二.打开input method,选择fcitx. 三.打开system ...

  5. VIN码/车架号的详解,车架号识别,VIN码识别,OCR车架号识别能带来什么

    各位车主在车检时不知道有没有注意到一件事,就是工作人员会打开车前盖在前围钢板上拓一张条码.下面来给大家介绍一下,这张条码就是VIN号,俗称钢印号,就像我们每个人都有自己的身份证号码一样,这也是汽车界的 ...

  6. 【UGUI】 (二)--------- 小地图

    在绝大多数游戏中,小地图都是极为常见的一个模块而且十分重要.在Unity里面如何制作一个地图其实也是比较简单的 一. 创建玩家与敌人 创建一个Capsule,命名为Player,代表我们的游戏玩家,创 ...

  7. socket_tcp协议_loadrunner测试

    1.lrs_create_socket("socket0", "TCP", "RemoteHost=127.0.0.1:8888", Lrs ...

  8. 算法与AI的暗黑面:3星|《算法的陷阱:超级平台、算法垄断与场景欺骗》

    算法的陷阱:超级平台.算法垄断与场景欺骗 全书讲算法与AI的暗黑面:价格歧视.导致算法军备竞赛.导致商家降价冲动降低.平台作恶(向劣质商家收费导致品质下降.与开发商一起分析用户隐私)等. 作者从商业. ...

  9. 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 ...

  10. redis利用key计时与计数

    计时 Setex 命令为指定的 key 设置值及其过期时间.如果 key 已经存在, SETEX 命令将会替换旧的值 基本命令: redis 127.0.0.1:6379> SETEX KEY_ ...