Django View视图

视图函数

一个视图函数(类),简称视图,是一个简单的Python 函数(类),它接受Web请求并且返回Web响应。响应可以是一张网页的HTML内容,一个重定向,一个404错误,一个XML文档,或者一张图片。

无论视图本身包含什么逻辑,都要返回响应。大家约定成俗将视图放置在项目(project)或应用程序(app)目录中的名为views.py的文件中。

  • Django使用请求Request和响应Response来给整个系统传递状态
  • 当用户请求一个页面时,Django创建一个包含元数据和请求内容的HttpRequest对象。然后Django加载适当的视图,HttpRequest对象作为视图函数的第一个参数,每个视图负责返回一个HttpResponse对象。

视图实例

from django.http import HttpResponse

def show(req):
    name = 'Jerry'
    content = '<h1>hello %s!</h1>' % name
    return HttpResponse(content)

首先从 django.http模块导入了HttpResponse类。然后定义了show函数。它就是视图函数;每个视图函数的第一个参数都为request,其实是一个HttpRequest对象。视图函数中封装了一个HTML格式的字符串,传入HttpResponse()后,实例化一个HttpResponse对象并返回。

当浏览器向服务端请求一个页面时,Django创建一个HttpRequest对象,该对象包含关于请求的元数据。然后,Django加载相应的视图,将这个HttpRequest对象作为第一个参数传递给视图函数。

HttpRequest对象

对象属性

HttpRequest.scheme:返回请求协议的名称,通常是http或是https

HttpRequest.body:返回字节格式的原始HTTP请求内容,通常用于二进制图像、XML等格式的文件

HttpRequest.path:返回请求的全路径,例如"/music/bands/the_beatles/"

HttpRequest.method:返回请求调用的HTTP方法,通常是’GET’或是’POST’

HttpRequest.GET:包含所有给定HTTP GET参数的类似字典的对象。

HttpRequest.POST:接收表单提交的数据,返回一个类似字典的对象,包含所有给定的HTTP POST参数。

HttpRequest.COOKIES:包含所有COOKIES的字典,键和值是字符串。

HttpRequest.FILES:所有上传文件的类似字典的对象。对象中的每一个键都是<input type="file" name="" />的名称,文件中的每个值是一个uploadedFile。

HttpRequest.META:包含所有可用的HTTP头的字典,通常包含以下内容:

CONTENT_LENGTH:请求体的长度(以字符串形式返回)

CONTENT_TYPE:请求体的 MIME 类型

HTTP_ACCEPT:响应可以接收的文本类型

HTTP_ACCEPT_ENCODING:响应可以接收的编码方式

HTTP_ACCEPT_LANGUAGE:响应可以接收的语言

HTTP_HOST:客户端发来的HTTP主机头

HTTP_REFERER:返回引用页

HTTP_USER_AGENT:客户端的用户代理(字符串格式)

QUERY_STRING:查询字符串,作为独立的(解析)字符串

REMOTE_ADDR:客户端IP地址

REMOTE_HOST:客户端主机名

REMOTE_USER:由Web服务器验证的用户

REQUEST_METHOD:返回请求方法的字符串,例如"GET"或者"POST".

SERVER_NAME:服务端主机名

SERVER_PORT:服务端端口(字符串格式)

猜你喜欢

转载自www.cnblogs.com/houyongchong/p/view.html