005:Django Form請求
本章知識點
- Django 請求
- Django Form表單
- 請求與相應
知識點講解
1. Django 請求
傳遞資料的方式
Form表單
Ajax
Url get請求
我們研究request引數
在檢視當中,大部分函式有request引數,request這個引數是當URL呼叫檢視函式的時候接收 傳遞的請求。
Request接收的就是一個請求
Request.META 請求當中攜帶的引數
HTTP_USER_AGENT:Mozilla/5.0 (Windows NT 6.1; WOW64; rv:64.0) Gecko/20100101 Firefox/64.0 瀏覽器版本
Form表單
Action 請求的地址
地址為空,請求自己的地址
Method 請求的方式
Post 傳送,密文的
Get 獲取,明文
在URL之後以?開始,以鍵=值的形式以&分割
Input name是傳遞引數時候的鍵
Submit
用指定方法向指定的地址傳遞指定的引數
1、調整了form表單的action和method引數
2、調整提交按鈕
我們發起post請求出錯了
Csrf錯誤
不要著急
Csrf 跨域請求攻擊
Django為了防止csrf攻擊,定義csrf中介軟體
所以,所有的post請求多應該在form表單下的第一行新增csrftoken標籤
假如我們的檢視函式需要接收post請求,那麼,我們的載入模組必須是render
Render 和其他方法唯一的不同就是第一個引數需要是request
Hidden 是input隱藏域
檢視接收資料
request.method #返回請求的方式
#返回值:POST GET
request.POST #接收所有POST過來的資料
request.GET # 接收所有GET過來的資料
建模
同步資料庫
提交到HTML關注的問題
HTML提交到views關注
\STDB\Student\views.py
#匯入資料庫
from django.shortcuts import render
from Student.models import UserInfo
def register(request):
“”"
request.method #返回請求的方式
#返回值:POST GET
request.POST #接收所有POST過來的資料
request.GET # 接收所有GET過來的資料
“”"
if request.method == “POST” and request.POST: #如果請求方式為post並且port有值
firstName = request.POST.get(“firstName”) #這裡捕獲的是前端的name
lastName = request.POST.get(“lastName”) # 這裡捕獲的是前端的name
inputEmail = request.POST.get(“inputEmail”) # 這裡捕獲的是前端的name
inputPassword = request.POST.get(“inputPassword”) # 這裡捕獲的是前端的name
confirmPassword = request.POST.get(“confirmPassword”) # 這裡捕獲的是前端的name
#開啟資料庫進行儲存
user = UserInfo() #例項化模型
user.firstname = firstName
user.lastname = lastName
user.email = inputEmail
user.password = inputPassword
user.save() #儲存
return render(request,"register.html",locals())
本章總結
Django 請求
Django Form表單
請求與相應