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/') 
  • 相关阅读:
    关于桌面的图片打开很慢的解决方法
    用c#进行递归组合
    ajax,js,css 入门页面
    择日宣判此案,却常再无下文
    共享软件的明确定义
    [转]大逃亡,还没出来呢
    如何收集带有附件的网页
    送一份自家产的软件给园内的兄弟姐妹作“福利”
    [转]评蒙牛内幕
    蓝侠==la*uan,破解中国共享软件联盟著名灌水专家“蓝侠””
  • 原文地址:https://www.cnblogs.com/lzmdbk/p/9833051.html
Copyright © 2011-2022 走看看