合规国际互联网加速 OSASE为企业客户提供高速稳定SD-WAN国际加速解决方案。 广告
# 视图函数 ## 定义视图 * 本质就是一个质数 * 视图的参数: * 一个HttpRequest实例 * 通过正则表达式组获取的位置参数 * 通过正则表达式组获得的关键字参数 * 在应用目录下默认有views.py文件,一般视图都定义在这个文件中 * 如果处理功能过多,可以将函数定义到不同的py文件中 ```text 配置路由urls.py文件 """ url(r'^index/$',views.index,name="index"), """ views.py """ from django.http import HttpResponse def index(request): return HttpResponse("helloworld") """ ``` ## 错误视图 * 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,name将永远不会调用404视图,而是显示URLconf并带有一些调试信息 * 在templates中创建404.html ```text <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Not Found</title> </head> <body> Not Found </body> </html> ``` * 在settings.py中·修改调试 ```text # SECURITY WARNING: don't run with debug turned on in production! DEBUG = False ALLOWED_HOSTS = ["*",] ``` * 请求一个不存在的地址 ```text localhost:8000/notfound/ ``` ### 500\(server error\)视图 * defaults.server\_error\(request,template\_name="500.html"\) * 在视图代码中出现运行时错误 * 默认的500视图不会传递变量给500.html模板URLconf并带有一些调试信息 ### 400\(bad request\)视图 * defaults.bad\_request\(request,template\_name="400.html"\) * 错误来自客户端的操作 * 当用户进行的操作在安全方面可疑的时候,例如篡改会话cookie