Django views.py 檢視函式
阿新 • • 發佈:2018-12-21
引數: request 跟請求相關的內容
request.method 判斷請求方式 8種
GET : 獲取一個頁面
request 相關方法POST: 提交資料 PUT : 上傳 HEAD: 不用上傳就獲取資料 DELETE: 刪除 Request-URL 標識的 TRACE: 回顯伺服器收到的請求 OPTIONS: 測試伺服器功能是否正常 CONNECT: 將連結改為管道方式 常用 GET POST 請求 request.POST form表單提交POST請求傳遞的資料 獲得一個{} 取值方式 [] get() request.GET URL地址上的引數 獲得一個{} 取值方式 [] get()
request.method -->> 判斷請求方式
request.POST -->> form表單提交POST請求傳遞的資料 獲得一個{} 取值方式 [] get()
request.GET -->> URL地址上的引數 獲得一個{} 取值方式 [] get()
request.path_info -->> 獲取當前請求的路徑 不包含引數
request.get_full_path() -->> 獲取當前請求的路徑 含引數
request.get_host() -->> 獲取請求主機的 ip地址及埠號
request.body -->> 請求體 byte型別 request.POST就是從 body 中提取的
request.COOKIES -->> 獲取所有的 cookies 字典形式
request.META -->> 獲取所有的HTTP頭部資訊 是一個字典
request.session -->> 獲取一個可讀又可寫 的 類似字典的 物件
request.is_secure() -->> 判斷請求是否安全
request.is_ajax() -->> 判斷是否是 ajax 請求
request.get_signet_cookies(key,salt='鹽') -->> 獲取假眼的 cookies 字典形式
檢視寫法- FBV (function based view ) 寫url和函式的對應關係
from django.shortcuts import render, redirect, HttpResponse
def login(request):
err = ''
if request.method == 'POST':
name = request.POST.get('name')
pwd = request.POST.get('pwd')
if name == 'root' and 'pwd' == '123':
return HttpResponse('登入成功')
err = '賬號或密碼錯誤'
return render(request,'login.html',{'err':err}) CBV (class based view) 寫url和類的對應關係
from django.views import View
class Index(View):
# GET 請求
def get(self, request):
return render(request,'index.html')
# POST 請求
def post(self, request):data = request.POST.get('data') print(data) return self.get(request)
返回值
匯入三件套
from django.shortcuts import render, redirect, HttpResponse, reverseredirect(reverse('/index/')) 重定向 + 反向解析 def login(request): return HttpReponse('字串') 返回一些字串 def regist(request): return render(request,'模板的檔名',{"data":"name"}) 返回一個完整的HTML頁面 def index(request): return redirect('要跳轉的地址') 重定向 Location : 地址
- FBV (function based view ) 寫url和函式的對應關係