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

  • 相关阅读:
    leetcode 122. Best Time to Buy and Sell Stock II
    leetcode 121. Best Time to Buy and Sell Stock
    python 集合(set)和字典(dictionary)的用法解析
    leetcode 53. Maximum Subarray
    leetcode 202. Happy Number
    leetcode 136.Single Number
    leetcode 703. Kth Largest Element in a Stream & c++ priority_queue & minHeap/maxHeap
    [leetcode]1379. Find a Corresponding Node of a Binary Tree in a Clone of That Tree
    正则表达式
    十种排序算法
  • 原文地址:https://www.cnblogs.com/momo8238/p/7698564.html
Copyright © 2011-2022 走看看