Python3网站-03:Django视图

发布于 2021-03-31 00:14


“人生苦短,快用Python”


Django中网址是写在URL文件urls.py中,用正则表达式映射视图文件views.py中的一个视图函数(或者generic类)。视图函数,简称视图,是一个简单的Python函数,接受Web请求request、返回Web响应HttpResponse对象。HttpResponse对象中包含视图函数生成的响应,响应可以是HTML页面、404错误页面、重定向页面、XML文档、图片、音视频等内容。视图函数的基本格式:

01、请求对象:HttpRequest对象

HttpRequest请求对象request的常用属性有:
  • GET属性:包含HTTP GET的所有参数,使用get方法可以获取对应键名的值,若对应多个值,返回最后一个值。

key_value = request.GET.get(“key_name”)
  • POST属性:包含HTTP POST的所有参数,使用get方法可以获取对应键名的值,若对应多个值,返回最后一个值,常用于form表单。

key_value = request.POST.get(“key_name”)
  • body属性:二进制字节流,请求体的原生内容,一般用于处理非HTTP形式的报文,如:图片、XML、JSON、视频等。

  • path属性:用于获取URL中的路径部分内容。

  • method属性:用于获取当前请求方式,值为GET或POST

02、响应对象:HttpResponse对象

响应对象主要有三种形式:
  • HttpResponse( ):参数为文本字符串,字符串中可以包含HTML标签,进行渲染,显示在网页中。

HttpResponse(content: object = ..., *args: Any, **kwargs: Any)
  •  render( ):底层返回HttpResponse对象,参数包括:request对象、页面路径名称、页面传递参数...

render: (request: HttpRequest, template_name: str | Sequence[str], context: Mapping[str, Any] | None = ..., content_type: str | None = ..., status: int | None = ..., using: str | None = ...)
在渲染新页面时,需要模板页面文件。在apphello文件夹下新建子文件夹templates,在子文件夹中新建模板页面文件,如:render_hello.html文件,获取页面传递的name参数;Django会自动定位到templates模板文件夹中的模板文件。

  • redirect( ):重定向,跳转到新页面,参数为新页面路径,底层继承HttpResponse对象。

视图函数示例:

03、视图函数与URL的映射

视图函数用于实现功能,需要与对应的URL地址链接在一起。在项目的URL声明文件urls.py中,将url与视图函数映射在一起,即访问url时,执行视图函数返回网页内容。
path( ) 可以接收四个参数,分别是两个必选参数:route、view 和两个可选参数:kwargs、name。
path(route, view, kwargs=None, name=None)
  • route:字符串,表示URL规则,与之匹配的URL会执行对应的第二个参数view

  • view:用于执行与正则表达式匹配的URL请求,即对应的视图函数。

  • kwargs:视图使用的字典类型的参数。

  • name:用来反向获取URL,即URL的别名。


Talk is cheap.

Show me the code.


本文来自网络或网友投稿,如有侵犯您的权益,请发邮件至:aisoutu@outlook.com 我们将第一时间删除。

相关素材