阿里云-云小站(无限量代金券发放中)
【腾讯云】云服务器、云数据库、COS、CDN、短信等热卖云产品特惠抢购

视图函数

90次阅读
没有评论

共计 1206 个字符,预计需要花费 4 分钟才能阅读完成。

一、普通视图

  • 位置

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

  • 注意

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

  • 路由方法

    path()

    re_path()

  • 无参路由

    路由不进行参数传递

    • 路由

      path()

      path(r'index/', views.index),

      re_path()

      re_path(r'^index/$', views.index),
    • 视图函数

      def index(request): return HttpResponse("lucky is a good man")
    • 访问

      http://127.0.0.1/index/

  • 传递参数路由

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

    • 路由
      path()

      path(r'args/<str:name>/<int:age>', views.args),

      re_path()

      re_path(r'args/(\w+)/(\d+)/', views.args),
      # 给参数起名称 (正则的知识点) re_path(r'args/(?P<name>\w+)/(?P<age>\d+)/', views.args),
    • 视图函数

      def args(request, name, age): print("---------", name, type(name), age, type(age)) return HttpResponse("传递参数视图函数")
    • 访问

      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 = False

    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>

正文完
星哥说事-微信公众号
post-qrcode
 
星锅
版权声明:本站原创文章,由 星锅 2022-05-26发表,共计1206字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
【腾讯云】推广者专属福利,新客户无门槛领取总价值高达2860元代金券,每种代金券限量500张,先到先得。
阿里云-最新活动爆款每日限量供应
评论(没有评论)
验证码
【腾讯云】云服务器、云数据库、COS、CDN、短信等云产品特惠热卖中