wordpress添加文章分類二級小紅書搜索優(yōu)化
Django的請求與響應
- 1、常見的請求
- 2、常見的響應
- 3、案例
1、常見的請求
函數(shù)的參數(shù)request是一個對象,封裝了用戶發(fā)送過來的所有請求相關(guān)數(shù)據(jù)。
get請求一般用來請求獲取數(shù)據(jù),get請求也可以傳參到后臺,但是傳遞的參數(shù)顯示在地址欄。
post請求一般作為發(fā)送數(shù)據(jù)到后臺,將傳遞的參數(shù)放在請求體中,不會在地址欄顯示,安全性比get請求高。
2、常見的響應
- HttpResponse:將內(nèi)容字符串返回給請求者
return HttpResponse("返回內(nèi)容")
- render:讀取HTML的內(nèi)容,渲染(替換)后,將字符串返回給用戶瀏覽器
return render(request, 'something.html', {"title": "來了"})
- redirect:重定向,讓瀏覽器重定向到其他頁面。瀏覽器向某個網(wǎng)站發(fā)起請求,網(wǎng)站會告訴瀏覽器某個網(wǎng)址,然后讓瀏覽器自己去訪問,去向那個網(wǎng)站再次發(fā)起請求。
return redirect("https://www.baidu.com/")
3、案例
現(xiàn)在寫一個用戶登錄的小案例
- 在urls.py寫出路徑、函數(shù)的映射關(guān)系
path("login/", views.login),
- 在views.py中寫login函數(shù)
def login(request):# 如果請求類型是POST,就輸出請求數(shù)據(jù)if request.method == "POST":print(request.POST)return HttpResponse('登錄成功')# 如果請求類型是GET,就訪問login頁面 else:return render(request,"login.html")
- 在login.html寫前端頁面,當表單數(shù)據(jù)提交后,會向/login/地址發(fā)起post請求,從而會再次訪問login函數(shù)
<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title>用戶登錄頁面</title>
</head>
<body><h1>用戶登錄</h1><form method="post" action="/login/"><input type="text" name="user" placeholder="用戶名"><input type="password" name="password" placeholder="密碼"><input type="submit" placeholder="提交"></form>
</body>
</html>
- 運行,在登錄頁面填寫信息點擊提交后,會出現(xiàn)下述錯誤
- 出現(xiàn)上述錯誤的原因是Django有csrf token的驗證,即一層安全機制的校驗,解決辦法是在表單里面寫一行代碼:
{% csrf_token %}