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