- 参数: request 跟请求相关的内容
request.method 判断请求方式 8种
GET : 获取一个页面
POST: 提交数据 PUT : 上传 HEAD: 不用上传就获取数据 DELETE: 删除 Request-URL 标识的 TRACE: 回显服务器收到的请求 OPTIONS: 测试服务器功能是否正常 CONNECT: 将链接改为管道方式 常用 GET POST 请求 request.POST form表单提交POST请求传递的数据 获得一个{} 取值方式 [] get() request.GET URL地址上的参数 获得一个{} 取值方式 [] get()
request 相关方法
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, reverse
redirect(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和函数的对应关系
原文地址:https://www.cnblogs.com/zhang-zi-yi/p/10158897.html