Django 视图函数

举报
Lansonli 发表于 2021/09/29 00:01:32 2021/09/29
【摘要】 定义视图 本质就是一个函数视图的参数 一个HttpRequest实例通过正则表达式组获取的位置参数通过正则表达式组获得的关键字参数在应用目录下默认有views.py文件,一般视图都定义在这个文件中如果处理功能过多,可以将函数定义到不同的py文件中 新建views1.py#coding:utf-8from django.http ...

定义视图

  • 本质就是一个函数
  • 视图的参数
    • 一个HttpRequest实例
    • 通过正则表达式组获取的位置参数
    • 通过正则表达式组获得的关键字参数
  • 在应用目录下默认有views.py文件,一般视图都定义在这个文件中
  • 如果处理功能过多,可以将函数定义到不同的py文件中

  
  1. 新建views1.py
  2. #coding:utf-8
  3. from django.http import HttpResponse
  4. def index(request):
  5. return HttpResponse("你好")
  6. 在urls.py中修改配置
  7. from . import views1
  8. 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

  
  1. <!DOCTYPE html>
  2. <html>
  3. <head>
  4. <title></title>
  5. </head>
  6. <body>
  7. 找不到了
  8. <hr/>
  9. {{request_path}}
  10. </body>
  11. </html>
  • 在settings.py中修改调试

  
  1. DEBUG = False
  2. 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

文章来源: lansonli.blog.csdn.net,作者:Lansonli,版权归原作者所有,如需转载,请联系作者。

原文链接:lansonli.blog.csdn.net/article/details/100803590

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。