组团学

视图函数

阅读 (196791)

一、普通视图

  • 位置

    应用目录下的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>
需要 登录 才可以提问哦