zoukankan      html  css  js  c++  java
  • Day22-1-知识回顾

    1. 知识点概要

    --Session

    --CSRF

    --Model操作

    --Form验证(ModelForm)

    --中间件

    --缓存

    2.知识回顾

    2.1客户端请求及服务器端返回,都包含请求头和body两部分内容。

    在源码中,通过 来分割请求头和请求内容。(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

  • 相关阅读:
    Spring.Net初认识——竹子整理
    SOA:面向服务编程——竹子整理
    unity安装记录
    wcf第三方客户端与wcf服务之间调用入门
    Winform VS2015打包
    OWINS是什么(转载)
    [LR]遇到的坑及常用技巧
    性能测试简单调优
    es6解构赋值
    es6 笔记
  • 原文地址:https://www.cnblogs.com/momo8238/p/7698564.html
Copyright © 2011-2022 走看看