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

Django之视图层

因此,不应该使用 if request.POST 来检查使用的是否是POST 方法;应该使用 if request.method == "POST"   另外:如果使用 POST 上传文件的话,文件信息将包含在...这个属性是可写的,你可以修改它来修改访问表单数据使用的编码。 接下来对属性的任何访问(例如从 GETPOST 中读取数据)将使用新的 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方式只需给字符串就行

1.7K10

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

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

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.2K70

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

1.8K30

Django』视图views

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

6310

Django请求和响应对象

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

1.5K20

Python进阶26-Django 视图层

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

1.9K20

Django教程 —— 视图及URL

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

69420

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

93810

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.1K40

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

3.4K20
领券