首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Django 笔记-1-从请求到响应

,对 request 进行处理:若返回 None 进入到 10;若直接返回 HttpResponse 对象进入到 12。...; 调用时间:在 Django 决定执行哪个 view 之前,process_request() 会被请求调用; 产生响应:它应该返回一个 None 或一个 HttpResponse 对象,如果返回 None...都不包括 request; 调用时间:process_view() 会在 Django 调用 view 前被调用; 产生响应:它应该返回一个 None 或一个 HttpResponse 对象,如果返回...None,Django 会继续处理这个请求;如果它返回一个 HTTPResponse 对象,Django 会直接跳转到 Response Middleware; PS:除 CsrfViewMiddleware...或一个 HttpResponse 对象,如果返回 None,Django 会继续处理这个请求;如果它返回一个 HTTPResponse 对象,模板对象和 Response Middleware 会被直接返回给客户端

88021
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    Django 分析(一)Requst、Middleware 和 Response 数据流

    None 或一个 HttpResponse 对象: 如果是 None,则继续按照 Django 定义的规则向后继续执行 如果是 HttpResponse 对象,则直接将该对象返回给用户 from django.utils.deprecation...不同中间件之间传递的 request 都是同一个对象 返回值可以是 None 也可以是 HttpResponse 对象。...它应该返回 None 或一个 HttpResponse 对象 如果返回 None,Django 将继续处理这个请求,执行任何其他中间件的 process_view 方法,然后在执行相应的 Views...如果它返回一个 HttpResponse 对象,Django 不会调用适当的 Views 函数。...exception 是视图函数异常产生的 Exception 对象 这个方法只有在视图函数中出现异常了才执行,它返回的值可以是一个 None 也可以是一个 HttpResponse 对象 如果是 HttpResponse

    55610

    Django实践-08中间件的应用

    None或一个HttpResponse对象,如果是None,则继续按照django定义的规则向后继续执行,如果是HttpResponse对象,则直接将该对象返回给用户。...请求到达中间件之后, 先按照正序执行每个注册中间件的process_request方法,process_request方法返回的值是None,就依次执行,如果返回的值是HttpResponse对象,...不再执行后面的process_request方法,而是执行当前对应中间件的process_response方法(注意不是掉头执行所有的process_response方法),将HttpResponse对象返回给浏览器...也就是说:如果MIDDLEWARE中注册了6个中间件,执行过程中,第3个中间件返回了一个HttpResponse对象,那么第4,5,6中间件的process_request和process_response...假如中间件3 的process_view方法返回了HttpResponse对象,则4,5,6的process_view以及视图函数都不执行,直接从最后一个中间件,也就是中间件6的process_response

    17120

    11.Django基础九之中间件

    None或一个HttpResponse对象,如果是None,则继续按照django定义的规则向后继续执行,如果是HttpResponse对象,则直接将该对象返回给用户。   ...它的返回值可以是None也可以是HttpResponse对象。...返回值是None的话,按正常流程继续走,交给下一个中间件处理,如果是HttpResponse对象,Django将不执行视图函数,而将相应对象返回给浏览器。       ...它应该返回None或一个HttpResponse对象。 如果返回None,Django将继续处理这个请求,执行任何其他中间件的process_view方法,然后在执行相应的视图。...这个方法只有在视图函数中出现异常了才执行,它返回的值可以是一个None也可以是一个HttpResponse对象。

    67530

    Django之views系统

    Django的View(视图)简介 一个视图函数(类),简称视图,是一个简单的Python 函数(类),它接受Web请求并且返回Web响应。...我们将其命名为current_datetime,是因为这个名称能够比较准确地反映出它实现的功能。 这个视图会返回一个HttpResponse对象,其中包含生成的响应。...每个视图函数都负责返回一个HttpResponse对象。 Django使用请求和响应对象来通过系统传递状态。...然后,Django加载相应的视图,将这个HttpRequest对象作为第一个参数传递给视图函数。 每个视图负责返回一个HttpResponse对象。...结合一个给定的模板和一个给定的上下文字典,并返回一个渲染后的 HttpResponse 对象。 参数: request: 用于生成响应的请求对象。

    2.2K70

    django框架菜鸟教程_django框架菜鸟教程

    2、视图函数的返回值必须为一个响应对象,不能像Flask一样直接返回一个字符串,可以将要返回的字符串数据放到一个HTTPResponse对象中。...如果为None则表示使用浏览器的默认设置,一般为utf-8。 这个属性是可写的,可以通过修改它来修改访问表单数据使用的编码,接下来对属性的任何访问将使用新的encoding值。...如果是临时cookie,可将max_age设置为None。 读取Cookie 可以通过HttpRequest对象的COOKIES属性来读取本次请求携带的cookie值。...返回的中间件也是一个可以被调用的对象,并且像视图一样需要接收一个request对象参数,返回一个response对象。...模板对象.render(contex=None,request=None)–>返回渲染后的html文本字符串 Django提供了一个函数render可以简写上述代码。

    3.1K40

    Django学习笔记之Django中间件

    None或一个HttpResponse对象,如果是None,则继续按照django定义的规则向后继续执行,如果是HttpResponse对象,则直接将该对象返回给用户。...它的返回值可以是None也可以是HttpResponse对象。...返回值是None的话,按正常流程继续走,交给下一个中间件处理,如果是HttpResponse对象,Django将不执行视图函数,而将相应对象返回给浏览器。...它应该返回None或一个HttpResponse对象。 如果返回None,Django将继续处理这个请求,执行任何其他中间件的process_view方法,然后在执行相应的视图。...这个方法只有在视图函数中出现异常了才执行,它返回的值可以是一个None也可以是一个HttpResponse对象。

    39850

    【Django】 开发:中间件和SDRF扩展知识

    例如,Django 包含一个中间件组件 AuthenticationMiddleware,它使用会话将用户与请求关联起来。...None或HttpResponse对象 def process_view(self, request, callback, callback_args, callback_kwargs): 调用视图之前被调用...,在每个请求上调用,返回None或HttpResponse对象 def process_response(self, request, response): 所有响应返回浏览器 被调用,在每个请求上调用...,返回HttpResponse对象 def process_exception(self, request, exception): 当处理过程中抛出异常时调用,返回一个HttpResponse对象 def...方法的响应对象 注: 中间件中的大多数方法在返回None时表示忽略当前操作进入下一项事件,当返回HttpResponese对象时表示此请求结束,直接返回给客户端 编写中间件类: # file : middleware

    32020

    Django 视图层

    它就是视图函数,每个视图函数都使用HttpRequest对象作为第一个参数,并且通常称为request。注意,视图函数的名称并不重要;不需要用一个统一的命名方式来命名,以便让Django识别它....这个视图会返回一个HttpResponse对象,其中包含生成的响应,每个视图函数都负责返回一个HttpResponse对象 三.HttpRequest对象 request属性 django将请求报文中的请求行...QUERY_STRING —— 单个字符串形式的查询字符串(未解析过的形式)。 REMOTE_ADDR —— 客户端的IP 地址。...四.HttpResponse对象 相应对象主要有三种形式: HttpResponse() render() redirect() HttpResquest()括号内直接跟一个具体的字符串作为相应体,比较直接很简单...HttpResponse对象 参数: request: 用于生成响应的请求对象 template_name: 要使用的模板的完整名称,可选的参数 context: 添加到模板上下文的一个字典

    1.7K20

    session与cookie,django中间件

    None或一个HttpResponse对象,如果是None,则继续按照django定义的规则向后继续执行,如果是HttpResponse对象,则直接将该对象返回给用户。...它的返回值可以是None也可以是HttpResponse对象。...返回值是None的话,按正常流程继续走,交给下一个中间件处理,如果是HttpResponse对象,Django将不执行视图函数,而将相应对象返回给浏览器。...它应该返回None或一个HttpResponse对象。 如果返回None,Django将继续处理这个请求,执行任何其他中间件的process_view方法,然后在执行相应的视图。...如果它返回一个HttpResponse对象,那么将不会执行Django的视图函数,而是直接在中间件中掉头,倒叙执行一个个process_response方法,最后返回给浏览器 中间件执行流程 请求到达中间件之后

    62030
    领券