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/') 
原文地址:https://www.cnblogs.com/lzmdbk/p/9833051.html