1. 程式人生 > >Django 知識點回顧

Django 知識點回顧

1. COOKIE操作

  COOKIE是儲存在客戶端本地儲存的鍵值對

2. SESSION操作

  SESSION

 

3. URL路由

  -/index/----> views.函式

4. MTV   models  templates    views

 

5. views中的返回方式

  -render(request,"模板路徑",locals())

  -redirct("URL")

  -HttpResponse("具體的內容")

 

6. 啟動命令

   python manage.py runserver 埠號

 

7. 建立project

  django-admin startproject [project名稱]

  python manage.py startapp [app名稱]

 

8. URL中的別名

  ("/index/",func,name="XXXX")

  

9. settings.py配置

  STATICFILES_DIRS=(

    os.path.join(BASE_DIR,"static"))

10. 模板路徑

  {{變數}}

  {{% for ,if , %}}

    views.py

      def func(request):

        return render(request,"index.html",{"arg":[1,3,4,6]})

    index.html:

      {{ arg.2 }}   #取arg的第三個元素

 

11. 資料庫連結修改mysql

    預設:MySQLDB

    修改:pymysql   

    修改方法:import pymysql

         pymysql.install_as_MySQLdb()

    

12. 模板繼承

  block 

  extends

 

13. request引數

  -request.method

  -request.GET

  -request.POST

  -request.POST.getlist("hobby")

  

14. 外來鍵

 

15. 操作資料表

  python manage.py makemigrations

  python manage.py migrate

 

16. 在html中使用別名代值靜態檔案路徑

  

17. 路由分發

  

18. 資料操作

   models.Tb.objects.all().delete() 刪除

   models.Tb.objects.filter(條件).delete()

19. 外來鍵的新增

  class A(models.Model):  部門表

    name = charfiled(max_length=16,null=True,blank=True)

  class B(models.Model):  員工表

    title = charfiled

    fk=ForeginKey(A)

  

  models.B.objects.create(title="1",fk=models.A.objects.get(id=1)) #向B表中新增內容

  models.B.objects.create(title = "1",fk_id=1)  #第二種形式

 

20. 外來鍵關聯刪除

 

21. URL匹配

  [

    ("/index.html/(?P<nid>\d+)"),func

  ]

   views.py

    def func(requset.nid)

      pass

 

22. ORM 

   -models中的增刪改查

   -shell操作

  物件 = models.TB.objects.get(id=1)

  [物件,] =models.TB.objects.filter(id=1)

  

23. CSRF

 

24. 自定義標籤

  

25. XSS攻擊

  views.py 

     def func(request,nid):

      return render(request,"x.html",{"k1":"v1","k2":"<h1>v2</h1>"})

  x.html:

    {{ k1}}

    {{ k2 }}

    頁面輸出:

      v1

      <h1>v2</>

     

    {{ k1}}

    {{ k2|safe }}

    頁面輸出:

      v1

      v2(加大加粗)

 

 

26. 

  obj=models.Tb.objects.get(id=1)

  obj.name="新名字"

  obj.save

  

  obj.Tb.objects.filter(id=1).update(name="新名字")

 

27. 多表查詢 雙下劃線跨表

 

28. 

 

29. URL,namespace

 

30.