學到什么程度才算會django了?這篇文章幫你梳理一下
關於django2的28個不可不知的知識點總結:
1.cookie操作:
-客戶端本地存儲的鍵值對
2.session操作:
-服務器端可以保存在文件、緩存、變量、數據庫……中。
3.URL路由:
-/index --->views.函數
4.MTV:
model、template、view
5.View的返回方式:
-HttpResponse("內容")
-render(request,'模板路徑',{})
-redirect('URL')
6.啟動:
python manage.py runserver
7.創建project:
django-admin startproject [project名稱]
python manage.py startapp [app名稱]
8.URL中有別名:
[
path('index/',func,name='xxoo',
]
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,2,3,4]})
在前端取第三個
html:
{{arg.2}}
11.數據庫連接修改mysql:
默認:MYSQLDB
修改:pymysql
12.模板繼承:
bolck
extends
13.request參數:
-request.method
-request.GET
-request.POST
-request.POST.getlist
14.外鍵
15.操作數據表:
python manage.py makemigrtions
python manage.py migrate
16.在html中使用別名代替靜態文件路徑
17.路由分發
18.數據操作:
models.TB.objects.all().delete()
models.TB.objects.filter(條件).delete()
19.外鍵的添加:
class A(models.Model): name=c class B(): title='1' fk=FK(A) models.B.objects.create( title='1', fk_id=1 )
20.外鍵關聯刪除
21.URL匹配:
path('reset/<str:active_code>',ResetView.as_view(),name='reset_pwd'),
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</h1> {{k1}} {{k2|safe}} 頁面輸出: v1 v2(加大加粗)
26.修改數據的兩種方式:
1. obj=models.TB.objects.get(id=1) obj.name='新名稱' obj.save() 2. models.TB.objects.filter(id=1).update(name='新名稱')
27.多表查詢 雙下划線跨表
28.URL namespace