首页
学习
活动
专区
圈层
工具
发布

Django之视图层

因此,不应该使用 if request.POST 来检查使用的是否是POST 方法;应该使用 if request.method == "POST"   另外:如果使用 POST 上传文件的话,文件信息将包含在...这个属性是可写的,你可以修改它来修改访问表单数据使用的编码。 接下来对属性的任何访问(例如从 GET 或 POST 中读取数据)将使用新的 encoding 值。...is_anonymous() 返回True 而不是False。 is_authenticated() 返回False 而不是True。...如果一个响应需要根据请求是否是通过AJAX 发起的,并且你正在使用某种形式的缓存例如Django 的 cache middleware, 你应该使用 vary_on_headers('HTTP_X_REQUESTED_WITH...'GET': return HttpResponse('是get请求方式') return HttpResponse('不是get请求方式') HTTPResponse方式只需给字符串就行

2.5K10

03.Django基础三之视图函数

这样做的优点主要下面两种: 提高了代码的复用性,可以使用面向对象的技术,比如Mixin(多继承) 可以用不同的函数针对不同的HTTP方法处理,而不是通过很多if判断,提高代码可读性     如果我们要写一个处理...('OK')     Django的url是将一个请求分配给可调用的函数的,而不是一个class。...如果你知道表单数据的编码不是 DEFAULT_CHARSET ,则使用它。 5.HttpRequest.GET   一个类似于字典的对象,包含 HTTP GET 的所有参数。...is_anonymous() 返回True 而不是False。 is_authenticated() 返回False 而不是True。...如果一个响应需要根据请求是否是通过AJAX 发起的,并且你正在使用某种形式的缓存例如Django 的 cache middleware, 你应该使用 vary_on_headers('HTTP_X_REQUESTED_WITH

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

    Django之views系统

    这个视图会返回一个HttpResponse对象,其中包含生成的响应。每个视图函数都负责返回一个HttpResponse对象。 Django使用请求和响应对象来通过系统传递状态。...如果你知道表单数据的编码不是 DEFAULT_CHARSET ,则使用它。 5.HttpRequest.GET   一个类似于字典的对象,包含 HTTP GET 的所有参数。...is_anonymous() 返回True 而不是False。 is_authenticated() 返回False 而不是True。...如果一个响应需要根据请求是否是通过AJAX 发起的,并且你正在使用某种形式的缓存例如Django 的 cache middleware, 你应该使用 vary_on_headers('HTTP_X_REQUESTED_WITH...使用 传递字符串 from django.http import HttpResponse response = HttpResponse("Here's the text of the Web page

    2.8K70

    Django学习笔记之Django视图View

    这个视图会返回一个HttpResponse对象,其中包含生成的响应。每个视图函数都负责返回一个HttpResponse对象。 Django使用请求和响应对象来通过系统传递状态。...(request.POST.get('user')) return HttpResponse('Login.post') request对象 当一个页面被请求时,Django就会创建一个包含本次请求原信息的...如果你知道表单数据的编码不是 DEFAULT_CHARSET ,则使用它。 5.HttpRequest.GET   一个类似于字典的对象,包含 HTTP GET 的所有参数。...is_anonymous() 返回True 而不是False。 is_authenticated() 返回False 而不是True。...如果一个响应需要根据请求是否是通过AJAX 发起的,并且你正在使用某种形式的缓存例如Django 的 cache middleware, 你应该使用 vary_on_headers('HTTP_X_REQUESTED_WITH

    2.3K30

    『Django』视图views

    这是因为 Django 的 URL 路由系统需要将视图映射到 URL 模式,而类视图本身只是Python 类,无法直接作为视图函数使用。...请求与响应(以GET和POST举例) 客户端和服务器通常使用HTTP的方式进行数据传递,客户端向服务器发起对话时,会创建一个“请求对象”,而服务器回复客户端时会创建一个“响应对象”。...HttpResponse def blogIndex(request): if request.method == 'GET': return HttpResponse('使用了GET请求...雷猴,GET请求') def post(self, request): return HttpResponse('雷猴,POST请求') 使用 类视图 可以更直观的看出 GET 和 POST...响应JSON 在前后端分离的项目中,后端通常只会返回数据内容给前端,而不是返回一个页面。返回的数据通常是以 JSON 为主。 此时我们需要用到 JsonResponse 来帮忙。

    63410

    Django请求和响应对象

    127.0.0.1的本机信息,而不是真实客户端的信息。...QueryDict对象 在一个 HttpRequest 对象中, GET 和 POST 属性是 django.http.QueryDict 的实例,这是一个类似字典的类,用来处理同一个键的多个值。...") 在前后端分离的大趋势下,我们机会很少使用后端去渲染页面。后端通常都是返回JSON数据。 传入迭代器 你可以传递 HttpResponse 一个迭代器而不是字符串。...这种操作在普通场景下没什么问题,但是如果文件或者图片很多,并且很大,通常我们使用一个独立的静态文件服务器来解决问题,而不是由Django来处理这些东西 ** 告诉浏览器将响应作为文件附件处理 ** >>...SameSite 并不是所有浏览器都支持,所以它并不能替代 Django 的 CSRF 保护,而是一种深度防御措施。

    2.2K20

    Python进阶26-Django 视图层

    因此,不应该使用 if request.POST 来检查使用的是否是POST 方法;应该使用 if request.method == "POST"   另外:如果使用 POST 上传文件的话,文件信息将包含在...例如:"GET"、"POST" 6.HttpRequest.encoding   一个字符串,表示提交的数据的编码方式(如果为 None 则表示使用 DEFAULT_CHARSET 的设置,默认为...这个属性是可写的,你可以修改它来修改访问表单数据使用的编码。 接下来对属性的任何访问(例如从 GET 或 POST 中读取数据)将使用新的 encoding 值。...如果你知道表单数据的编码不是 DEFAULT_CHARSET ,则使用它。 7.HttpRequest.META   一个标准的Python 字典,包含所有的HTTP 首部。...is_anonymous() 返回True 而不是False。 is_authenticated() 返回False 而不是True。

    2.5K20

    Django教程 —— 视图及URL

    它们不能替代基于功能的视图,但是与基于功能的视图相比具有某些区别和优势: 与特定HTTP方法(GET,POST等)相关的代码组织可以通过单独的方法而不是条件分支来解决。...Django 的类视图 View 从本质上讲,基于类的视图使您可以使用不同的类实例方法来响应不同的 HTTP 请求方法,而不是使用单个视图函数中的有条件分支代码。...return HttpResponse("GET请求 - 图书首页") elif request.method == "POST": # 视图逻辑 # ......return HttpResponse("GET请求 - 图书信息页") def post(self, request): # 视图逻辑 # ......return HttpResponse("POST请求 - 图书信息页") 配置URL 因为 Django 的 URL解析器 希望将请求和关联的参数发送给可调用的函数而不是类,所以基于类的视图具有一个

    1.1K20

    Django学习笔记之CBV和FBV

    这样做的优点主要下面两种: 提高了代码的复用性,可以使用面向对象的技术,比如Mixin(多继承) 可以用不同的函数针对不同的HTTP方法处理,而不是通过很多if判断,提高代码可读性 使用class-based...from django.http import HttpResponse def my_view(request): if request.method == 'GET':...return HttpResponse('OK') 如果用class-based view写的话,就是下面这样 from django.http import HttpResponse from django.views...') Django的url是将一个请求分配给可调用的函数的,而不是一个class。...cbv的实现原理通过看django的源码就很容易明白,大体就是由url路由到这个cbv之后,通过cbv内部的dispatch方法进行分发,将get请求分发给cbv.get方法处理,将post请求分发给cbv.post

    1.2K10

    Django模板语言与视图(view)

    这个视图会返回一个HttpResponse对象,其中包含生成的响应。每个视图函数都负责返回一个HttpResponse对象。 Django使用请求和响应对象来通过系统传递状态。...返回HttpResponse对象 给django    通过继承view方法,帮助完成逻辑业务中的功能(post,get,filter等八种接收方法),相较于FBV   CBV版更加简洁,不用if判断,...如果你知道表单数据的编码不是 DEFAULT_CHARSET ,则使用它。 5.HttpRequest.GET   一个类似于字典的对象,包含 HTTP GET 的所有参数。...is_anonymous() 返回True 而不是False。 is_authenticated() 返回False 而不是True。...如果一个响应需要根据请求是否是通过AJAX 发起的,并且你正在使用某种形式的缓存例如Django 的 cache middleware, 你应该使用 vary_on_headers('HTTP_X_REQUESTED_WITH

    4.1K20

    Django源码学习-21-require_http_methods

    Django网络应用开发的5项基础核心技术包括模型(Model)的设计,URL 的设计与配置,View(视图)的编写,Template(模板)的设计和Form(表单)的使用。...在实际的工作中,可能由于需求,对某些请求,只限制发送GET请求或者POST请求,不能发送其它的请求,Django内置的视图装饰器可以给视图提供一些限制。...from django.http import HttpResponse from django.views.decorators.http import require_http_methods...return HttpResponse("ok") 注意:请求方法应该是大写的 require_GET() require_http_methods(['GET']) 用作装饰器,要求视图只接受GET方法...由于一些软件,例如链接检查器,依赖于HEAD请求,可能需要使用require_safe而不是require_GET。 ?

    1.2K40

    django知识分支_1

    cookie中,当需要再次访问服务器的时候,给服务器发送session的key,进行数据交互 区别: 安全性-cookie直接保存的数据不安全,因为每次发送请求,都会把request中的信息全部发送出去,而session...源码 说明 HttpResponse,HttpResponseRedirect,JsonResponse 类之间的关系 HttpResponse:是django的方法,返回格式为HttpResponse...(content=响应体,content_type=响应体类型,status=状态码),可以修改返回的数据类型 HttpResponseRedirect:当post提交数据之后,可以使用HttpResponseRedirect...跳转到另一个页面,而不是使用HttpResponse跳转 JsonResponse:是httpResponse的子类,适用于处理json格式的数据,但是不能返回模板 4.说明django.shortcuts...View的get与post接口 一个简单的通用视图函数类 from django.views. generic import View from django.shortcuts import render

    47430
    领券