您现在的位置是:网站首页> 编程资料编程资料
Django框架中视图的用法_python_
2023-05-26
334人已围观
简介 Django框架中视图的用法_python_
视图层
一个视图函数,简称视图,是一个简单的 Python 函数,它接受 Web 请求并且返回 Web 响应。
响应可以是一个 HTML 页面、一个 404 错误页面、重定向页面、XML 文档、或者一张图片...
无论视图本身包含什么逻辑,都要返回响应。代码写在哪里都可以,只要在 Python 目录下面,一般放在项目的 views.py 文件中。
每个视图函数都负责返回一个 HttpResponse 对象,对象中包含生成的响应。
视图层中有两个重要的对象:请求对象(request)与响应对象(HttpResponse)。
一、请求对象: HttpRequest 对象(简称 request 对象)
以下介绍几个常用的 request 属性。
1、GET
数据类型是 QueryDict,一个类似于字典的对象,包含 HTTP GET 的所有参数。
有相同的键,就把所有的值放到对应的列表里。
取值格式:对象.方法。
get():返回字符串,如果该键对应有多个值,取出该键的最后一个值。
def runoob(request): name = request.GET.get("name") return HttpResponse('姓名:{}'.format(name))
2、POST
数据类型是 QueryDict,一个类似于字典的对象,包含 HTTP POST 的所有参数。
常用于 form 表单,form 表单里的标签 name 属性对应参数的键,value 属性对应参数的值。
取值格式: 对象.方法。
get():返回字符串,如果该键对应有多个值,取出该键的最后一个值。
def runoob(request): name = request.POST.get("name") return HttpResponse('姓名:{}'.format(name))
3、body
数据类型是二进制字节流,是原生请求体里的参数内容,在 HTTP 中用于 POST,因为 GET 没有请求体。
在 HTTP 中不常用,而在处理非 HTTP 形式的报文时非常有用,例如:二进制图片、XML、Json 等。
def runoob(request): name = request.body print(name) return HttpResponse("菜鸟教程")
4、path
获取 URL 中的路径部分,数据类型是字符串。
def runoob(request): name = request.path print(name) return HttpResponse("菜鸟教程")
5、method
获取当前请求的方式,数据类型是字符串,且结果为大写。
def runoob(request): name = request.method print(name) return HttpResponse("菜鸟教程")
二、响应对象:HttpResponse 对象
响应对象主要有三种形式:HttpResponse()、render()、redirect()。
HttpResponse(): 返回文本,参数为字符串,字符串中写文本内容。如果参数为字符串里含有 html 标签,也可以渲染。
def runoob(request): # return HttpResponse("菜鸟教程") return HttpResponse("
pandas如何获取某个数据的行号_python_
python进程池Pool中apply方法与apply_async方法的区别_python_
python array中关于[a,b,c]的使用方式_python_
Python进程multiprocessing.Process()的使用解读_python_
selenium常用API的使用过程记录(包括自动登录)_python_
Python使用multiprocessing如何实现多进程_python_
