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.