位置
应用目录下的views.py文件中定义
注意
无论是有参还是无参 都必须有一个参数是request
路由方法
path()
re_path()
无参路由
路由不进行参数传递
路由
path()
path(<span class="hljs-string">r'index/'</span>, views.index),
re_path()
re_path(<span class="hljs-string">r'^index/$'</span>, views.index),
<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>)
传递参数路由
传递参数,视图需要接收路由传递的数据
路由 path()
path(<span class="hljs-string">r'args/<str:name>/<int:age>'</span>, views.args),
re_path()
re_path(<span class="hljs-string">r'args/(\w+)/(\d+)/'</span>, views.args),
<span class="hljs-comment"># 给参数起名称(正则的知识点)</span>
re_path(<span class="hljs-string">r'args/(?P<name>\w+)/(?P<age>\d+)/'</span>, views.args),
<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
<!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
DEBUG = <span class="hljs-keyword">False</span>
DEBUG为True永远都不会使用404.html
500
说明:在视图代码中出现运行时错误
在templates目录下创建500.html
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>500</title>
</head>
<body>
<h1>页面丢了</h1>
</body>
</html>400
说明:错误来自客户端的操作,当用户进行的操作在安全方面可疑的时候,例如篡改会话cookie
在templates目录下创建400.html
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>400</title>
</head>
<body>
<h1>400</h1>
</body>
</html>