zoukankan      html  css  js  c++  java
  • [Django2.2文档阅读]HttpRequest

    概览:

    Django使用request和response对象来传递状态。

    当请求一个页面时,django创建一个包含这个请求的metadata的HttpRequest对象,然后django加载对应的视图,将这个HttpRequest对象作为视图函数的第一个参数传递。对应的,每个视图函数都应该返回一个HttpResponse对象。

    # 我的理解:Django对http请求的一些参数进行了封装,但是也添加了一些django自己的东西,后面会提到。


    HttpRequst 对象:

    基本参数(这里整理一些常用的):

    • HttpRequest.body:请求体 (bytes)

      raw HTTP request body,类型是bytes,使用时注意decode()。一般用来处理例如binary images、XML payload等。处理传统的表单数据,使用HttpRequest.POST。

    • HttpRequest.path:请求的url路径 (string)

    • HttpRequest.method:请求方法 (string)

    • HttpRequest.GET: 包含所有HTTP GET请求的参数,类字典(QueryDict)对象

    • HttpRequest.POST:类字典(QueryDict)对象

      包含所有通过表单提交的的POST参数。now-form data放在了HttpRequest.body中(表单提交的参数也body中也有,是bytes形式)。

    • HttpRequest.COOKIE:字典,key和value为string。

    • HttpRequest.FILE: 类字典对象。

      只有通过POST且enctype="multipart/form-data"的文件才会在这里,其他的情况(例如使用ajax),FILE为空。

    • HttpRequest.headers:类字典对象,包含http的所有首部。(django2.2中新加)


    middleware设置的参数: # django添加的一些额外属性

    • HttpRequest.session: 由SessionMiddleware设置,可读可写的类字典对象,用来表示当前的session

    • HttpRequest.user:由 AuthenticationMiddleware 设置,是AUTH_USER_MODEL的实例,代表当前登录用户。如果当前没有登录用户,则是 AnonymousUser的实例。可以通过 is_authenticated来判断是否登录。

  • 相关阅读:
    1.Spring Framework 5.0 入门篇
    Spring,Spring MVC,Spring Boot 三者比较
    函数式编程:函数作为变量和函数的计算结果
    函数式编程:面向可复用的map和pipeline机制的编程语言
    异常处理的本质
    Error handling in Swift does not involve stack unwinding. What does it mean?
    函数式编程介绍
    pure funtion
    函数式编程与命令式编程
    命令式编程是面向计算机硬件的抽象
  • 原文地址:https://www.cnblogs.com/macguz/p/14278924.html
Copyright © 2011-2022 走看看