Django 视图函数

简介: Django 视图函数

定义视图



  • 本质就是一个函数
  • 视图的参数


  • 一个HttpRequest实例
  • 通过正则表达式组获取的位置参数
  • 通过正则表达式组获得的关键字参数


在应用目录下默认有views.py文件,一般视图都定义在这个文件中


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


新建views1.py
#coding:utf-8
from django.http import HttpResponse
def index(request):
    return HttpResponse("你好")


在urls.py中修改配置


from . import views1
url(r'^$', views1.index, name='index'),


错误视图


Django原生自带几个默认视图用于处理HTTP错误


404 (page not found) 视图



defaults.page_not_found(request, template_name='404.html')


默认的404视图将传递一个变量给模板:request_path,它是导致错误的URL


如果Django在检测URLconf中的每个正则表达式后没有找到匹配的内容也将调用404视图


如果在settings中DEBUG设置为True,那么将永远不会调用404视图,而是显示URLconf 并带有一些调试信息


在templates中创建404.html


<!DOCTYPE html>
<html>
<head>
    <title></title>
</head>
<body>


找不到了


<hr/>
{{request_path}}
</body>
</html>


在settings.py中修改调试


DEBUG = False
ALLOWED_HOSTS = ['*', ]


请求一个不存在的地址


http://127.0.0.1:8000/test/


500 (server error) 视图


defaults.server_error(request, template_name='500.html')


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


默认的500视图不会传递变量给500.html模板


如果在settings中DEBUG设置为True,那么将永远不会调用505视图,而是显示URLconf 并带有一些调试信息


400 (bad request) 视图



defaults.bad_request(request, template_name='400.html')


  • 错误来自客户端的操作


  • 当用户进行的操作在安全方面可疑的时候,例如篡改会话cookie


目录
相关文章
|
3月前
|
JSON 前端开发 API
Django 后端架构开发:通用表单视图、组件对接、验证机制和组件开发
Django 后端架构开发:通用表单视图、组件对接、验证机制和组件开发
65 2
|
3月前
|
JSON 数据处理 API
Django后端架构开发:视图与模板的正确使用
Django后端架构开发:视图与模板的正确使用
37 1
|
2月前
|
数据处理 Python
Django视图:构建动态Web页面的核心技术
Django视图:构建动态Web页面的核心技术
|
3月前
|
C++ Python
Django视图函数VS类视图:如何选择最适合你的开发方式?
【8月更文挑战第31天】本文对比了Django中的函数视图和类视图。函数视图直接处理HTTP请求和响应,灵活且易于维护,适用于简单业务逻辑;类视图基于Python类,提供更丰富的功能和更高的灵活性,适合处理复杂业务逻辑。选择哪种视图取决于具体需求,合理使用两者可帮助你构建高效且易维护的Django应用。
60 0
|
3月前
|
安全 API Python
Django 如何使用视图动态输出 CSV 以及 PDF
Django 如何使用视图动态输出 CSV 以及 PDF
49 4
|
3月前
|
Linux Shell 数据库
python Django教程 之 安装、基本命令、视图与网站
python Django教程 之 安装、基本命令、视图与网站
|
4月前
|
API 数据库 数据安全/隐私保护
Django配置api、管理系统和视图
Django配置api、管理系统和视图
119 1
|
3月前
|
测试技术 Shell 数据库
Django视图测试:构建可靠Web应用的关键步骤
Django视图测试:构建可靠Web应用的关键步骤
30 0
|
5月前
|
安全 API Python
Django 如何使用视图动态输出 CSV 以及 PDF
这一篇我们需要用到 python 的 csv 和 reportLab 库,通过django视图来定义输出我们需要的 csv 或者 pdf 文件。
|
5月前
|
Go 调度 Python
Django 视图探秘:FBV与CBV注册方式的异同,揭秘as_view()的执行魔法
Django 视图探秘:FBV与CBV注册方式的异同,揭秘as_view()的执行魔法