zoukankan      html  css  js  c++  java
  • Django 视图

                                                视图(view)

     一、概述

    1.1、作用

    接受web请求,并响应web请求。
    1.2、本质

    视图就是一个python中的函数。大家约定成俗将视图放置在项目(project)或应用程序(app)目录中的名为views.py的文件中。
    1.3、过程

    二、url配置

    2.1、在项目的urls.py文件中,配置一个URL实例的列表。

    url匹配正则的注意事项:
    如果想要从url中获取一个值,需要对正则加小括号。
    匹配正则前方不需要加反斜杠
    正则前需要加r表示字符串不转义。
    2.2、反向解析URL

    本质上就是给url匹配模式起别名,然后用过别名拿到具体的URL路径
    1. 怎么起别名?
             在url匹配模式中,定义name="别名"

    2. 如何使用?
             1. 在模板语言里面使用:
              {% url "别名" %}  --> 得到具体的URL路径
             2. 在视图中如何使用:
               from django.urls import reverse
               reverse("别名")  --> 得到具体的URL路径

    三、视图函数

    3.1、本质

    一个函数
    3.2、视图参数

    一个HttpRequest的实例; 通过正则表达式获取的参数
    3.3、位置

    一般在views.py文件下定义

    3.4、错误视图

    3.4.1、404视图
    找不到网页时返回,可设置settings.py文件中DEBUG为True,则永远不会调用404.html页面
    3.4.2、500视图
    在视图代码中出现错误(服务器代码)
    3.4.3、400视图
    错误出现在客户的操作
     

    四、基础三件套

    1. HttpResponse        --> 返回字符串内容
    2. render                     --> 返回一个html页面             
    3. redirect                   --> 返回一个重定向(告诉浏览器再去访问另外的网址)

    五、Request对象

    5..1、概述
            服务器接收http请求后,会根据报文创建HttpRequest对象;
            视图的第一个参数就是HttpRequest对象
            django创建后,之后调用视图时传递给视图
    5.2、属性
    path : 请求的完整路径(不包括域名和端口)
    method: 表示请求的方式,常用的有GET和POST
    encoding:表示浏览器提交的数据的编码方式
    GET : 类似字典的对象,包含了get请求的所有参数
    POST:类似字典的对象,包含了POST请求的所有参数
    FILES:类似字典的对象,包含了所有上传的文件
    COOKIES:字典,包含所有的cookie
    session: 类似字典的对象,表示当前会话
    5.3、QueryDicti对象
    request对象中的GET,POST 都属于QueryDicti对象。
    5.4、GET属性
    获取浏览器传递过来的数据
    get():根据键获取值,只能获取一个值
    getlist():将键的值以列表的形式返回,可以获取多个值
    5.5、POST属性
    使用表单提交实现POST属性
     

    六、Response对象

    6.1、概述
    作用:给浏览器返回数据
    HTTPResponse对象由程序员创建,HttpRequest对象由django创建
    6.2返回用法
    不调用模板,直接返回数据   return HTTPResponse(‘’)
    调用模板,使用render方法
    语法:retunr render (request , templateName , context)

    作用:结合数据和模板,返回完整的HTML页面

    参数:request : 请求体对象

               templateName :模板路径

               context : 传递给需要渲染在模板上的路径

    实例: return render ( request , '.HTML' , { 'tmb':'Mingbo is  a  good  man'})

    属性
    context: 表示返回的内容
    charset : 编码格式
    status_code : 响应状态码
    子类HttpResponseRedirect
    功能:重定向,服务器端跳转
    简写:redirect
    ————————————————
    版权声明:本文为CSDN博主「__tian__」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
    原文链接:https://blog.csdn.net/T_I_A_N_/article/details/86157391

  • 相关阅读:
    编译openwrt时报错build_dir/hostpkg/libubox-2018-07-25-c83a84af/blobmsg_json.c:21:19: fatal error: json.h: No such file or directory
    git add时遇到类似fatal: Path 'XXX' is in submodule 'XXX'错误提示如何解决?
    select下拉框多选取值
    JavaScript substr() 方法
    select2多选设置select多选,select2取值和赋值
    bootstrap select 多选的用法,取值和赋值(取消默认选择第一个的对勾)
    Bootstrap select 多选并获取选中的值
    Bootstrap select多选下拉框实现代码
    Bootstrap selectpicker 下拉框多选获取选中value和多选获取文本值
    Mysql中EXISTS关键字用法、总结
  • 原文地址:https://www.cnblogs.com/zxy6/p/11675322.html
Copyright © 2011-2022 走看看