首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >视图函数

视图函数

作者头像
星哥玩云
发布于 2022-09-14 17:51:01
发布于 2022-09-14 17:51:01
6320
举报
文章被收录于专栏:开源部署开源部署

一、普通视图

位置

应用目录下的views.py文件中定义

注意

无论是有参还是无参 都必须有一个参数是request

路由方法

path()

re_path()

无参路由

路由不进行参数传递

路由

path()

代码语言:javascript
复制
path(<span class="hljs-string">r'index/'</span>, views.index),

re_path()

代码语言:javascript
复制
re_path(<span class="hljs-string">r'^index/$'</span>, views.index),

视图函数

代码语言:javascript
复制
<span class="hljs-function"><span class="hljs-keyword">def</span> <span class="hljs-title">index</span><span class="hljs-params">(request)</span>:</span>
  <span class="hljs-keyword">return</span> HttpResponse(<span class="hljs-string">"lucky is a good man"</span>)
  • 访问 http://127.0.0.1/index/

传递参数路由

传递参数,视图需要接收路由传递的数据

路由 path()

代码语言:javascript
复制
path(<span class="hljs-string">r'args/&lt;str:name&gt;/&lt;int:age&gt;'</span>, views.args),

re_path()

代码语言:javascript
复制
re_path(<span class="hljs-string">r'args/(\w+)/(\d+)/'</span>, views.args),
代码语言:javascript
复制
<span class="hljs-comment"># 给参数起名称(正则的知识点)</span>
re_path(<span class="hljs-string">r'args/(?P&lt;name&gt;\w+)/(?P&lt;age&gt;\d+)/'</span>, views.args),

视图函数

代码语言:javascript
复制
<span class="hljs-function"><span class="hljs-keyword">def</span> <span class="hljs-title">args</span><span class="hljs-params">(request, name, age)</span>:</span>
    print(<span class="hljs-string">"---------"</span>, name, type(name), age, type(age))
    <span class="hljs-keyword">return</span> HttpResponse(<span class="hljs-string">"传递参数视图函数"</span>)

访问

http://127.0.0.1/args/lucky/18/

返回值

响应内容

说明

如果处理的功能过多,可以将视图函数定义到不同的py文件中

二、错误视图

404

说明:当访问不存在的路由地址

在templates目录下创建404.html

代码语言:javascript
复制
<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="UTF-8">  			 
    <title>404</title>
  </head>
  <body>
    <h1>404-{{ request_path }} 展示 NOT_FOUND的路由地址</h1>
  </body>
</html>

配置settings.py

代码语言:javascript
复制
DEBUG = <span class="hljs-keyword">False</span>

DEBUG为True永远都不会使用404.html

500

说明:在视图代码中出现运行时错误

在templates目录下创建500.html

代码语言:javascript
复制
<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="UTF-8">  			 
    <title>500</title>
  </head>
  <body>
    <h1>页面丢了</h1>
  </body>
</html>

400

说明:错误来自客户端的操作,当用户进行的操作在安全方面可疑的时候,例如篡改会话cookie

在templates目录下创建400.html

代码语言:javascript
复制
<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="UTF-8">  			 
    <title>400</title>
  </head>
  <body>
    <h1>400</h1>
  </body>
</html>
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除
目录
  • 一、普通视图
  • 二、错误视图
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档