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

            HttpRequest对象

    Request属性

      -request.GET  get的请求数据   字典格式

      -request.POST  post的请求数据    字典格式

      -request.method  请求方式

      -request.path   请求路径

      -request.META  请求头   包含所有的HTTP 首部。具体的头部信息取决于客户端和服务器

    request常用方法

    /*
    
    1.HttpRequest.get_full_path()
    
      返回 path,如果可以将加上查询字符串。
    
      例如:"/music/bands/the_beatles/?print=true"
    
    
    2.HttpRequest.is_ajax()
    
      如果请求是通过XMLHttpRequest 发起的,则返回True,方法是检查 HTTP_X_REQUESTED_WITH 相应的首部是否是字符串'XMLHttpRequest'。
    
      大部分现代的 JavaScript 库都会发送这个头部。如果你编写自己的 XMLHttpRequest 调用(在浏览器端),你必须手工设置这个值来让 is_ajax() 可以工作。
    
      如果一个响应需要根据请求是否是通过AJAX 发起的,并且你正在使用某种形式的缓存例如Django 的 cache middleware,
       你应该使用 vary_on_headers('HTTP_X_REQUESTED_WITH') 装饰你的视图以让响应能够正确地缓存。
    
    */

            HttpResponse对象

    - HttpResponse('字符串')

      - HttpResponse()括号内直接跟一个具体的字符串作为响应体,比较直接很简单,所以这里主要介绍后面两种形式。

    - Render()

      - 读取文件字符串

      - 渲染变量

    1 render(request, template_name[, context])
    2  
    3 结合一个给定的模板和一个给定的上下文字典,并返回一个渲染后的 HttpResponse 对象。
    参数:
         request: 用于生成响应的请求对象。
    
         template_name:要使用的模板的完整名称,可选的参数
    
         context:添加到模板上下文的一个字典。默认是一个空字典。如果字典中的某个值是可调用的,视图将在渲染模板之前调用它。

    render方法就是将一个模板页面中的模板语法进行渲染,最终渲染成一个html页面作为响应体。

     - redirect

      传递要重定向的一个硬编码的URL

    1 def my_view(request):
    2     ...
    3     return redirect('/some/url/')

      也可以是一个完整的URL:

    1 def my_view(request):
    2     ...
    3     return redirect('http://example.com/') 
  • 相关阅读:
    Angular2学习笔记一
    @valid注解
    JPA注解@GeneratedValue
    java8 lambda 表达式
    Lombok的使用
    mybatis-plus的集成与使用
    mybatis之Sql语句构建器
    mybatis之使用注解
    php学习----异常处理(接上篇)
    php学习----错误处理和代码重用
  • 原文地址:https://www.cnblogs.com/lzmdbk/p/9833051.html
Copyright © 2011-2022 走看看