1.常用的请求method

1.1 GET请求:

GET请求一般用来向服务器索取数据,但不会向服务器提交数据,不会对服务器的状态进行更改.比如向服务器获取某篇文章的详情.

1.2 POST请求:

POST请求一般是用来向服务器提交数据,会对服务器的状态进行更改.比如提交一篇文章给服务器.

2.限制请求装饰器

Django内置的视图装饰器可以给视图提供一些限制.比如,这个视图只能通过GET的method访问等.以下将介绍一些常用的内置视图装饰器.

2.1 django.http.decorators.http.require_http_methods

这个装饰器需要传递一个允许访问的方法的列表.比如只能通过GET的方式访问.

示例代码如下:

from django.views.decorators.http import require_http_methods
@require_http_methods(["GET"])
def my_view(request):
pass

2.2 django.views.decorators.http.require_GET

这个装饰器相当于是require_http_methods(['GET'])的简写形式,只允许使用GET的method来访问视图.

示例代码如下:

from django.views.decorators.http import require_GET
@require_GET
def my_view(request):
pass

2.3 django.views.decorators.http.require_POST

这个装饰器相当于是require_http_methods(['POST'])的简写形式,只允许使用POST的method来访问视图.

示例代码如下:

from django.views.decorators.http import require_POST
@require_POST
def my_view(request):
pass

2.4 django.views.decorators.http.require_safe

这个装饰器相当于是require_http_methods(['GET','HEAD'])的简写形式,只允许使用相对安全的方式来访问视图.因为GET和HEAD不会对服务器产生增删改的行为.因此是一种相对安全的请求方式.

示例代码如下:

from django.views.decorators.http import require_safe
@require_safe
def my_view(request):
pass

Django限制请求method的更多相关文章

  1. Django中请求的生命周期

    1. 概述 首先我们知道HTTP请求及服务端响应中传输的所有数据都是字符串. 在Django中,当我们访问一个的url时,会通过路由匹配进入相应的html网页中. Django的请求生命周期是指当用户 ...

  2. Django的请求生命周期

    Django的请求生命周期 请求生命周期 请求生命周期是指当用户在浏览器上输入url到用户看到网页的这个时间段内,Django后台所发生的事情. 1.客户端发送Http请求 2 .服务器接收,根据请求 ...

  3. Django 框架 django的请求生命周期

    概述 首先我们知道HTTP请求及服务端响应中传输的所有数据都是字符串,同时http请求是无状态的,可以通过session和cookie来辅助. 浏览器通过ip和端口及路由方式访问服务端. 在Djang ...

  4. django 前端请求跨域问题解决

    django 前端请求跨域问题解决 笔者之前在做django-restful-api开发的时候,在前端请求页面发送请求的时候直接出现301,域名重定向的问题,经过一番查阅资料,终于得到了非常完美的解决 ...

  5. django从请求到返回都经历了什么[转]

    原文地址:http://projectsedu.com/2016/10/17/django从请求到返回都经历了什么/ 从runserver说起 ruserver是使用django自己的web serv ...

  6. [oldboy-django][2深入django]django一个请求的生命周期 + WSGI + 中间件

    1 WSGI # WSGI(是一套协议,很多东西比如wsgiref, uwsgiref遵循这一套协议) - django系统本质 别人的socket(wsgiref或者uwsgiref) + djan ...

  7. DRF框架(一)——restful接口规范、基于规范下使用原生django接口查询和增加、原生Django CBV请求生命周期源码分析、drf请求生命周期源码分析、请求模块request、渲染模块render

    DRF框架    全称:django-rest framework 知识点 1.接口:什么是接口.restful接口规范 2.CBV生命周期源码 - 基于restful规范下的CBV接口 3.请求组件 ...

  8. Django - 获取请求方式

    //获取请过来得得请求类型 method = request.method 通过Django 的form 判断用户输入是否通过验证 check = forms.LoginFrom(request.PO ...

  9. django HTTP请求(Request)和回应(Response)对象

    Django使用request和response对象在系统间传递状态.—(阿伦)当一个页面被请示时,Django创建一个包含请求元数据的 HttpRequest 对象. 然后Django调入合适的视图 ...

随机推荐

  1. Linq之ToList

    今晚遇到一个很奇怪的事情,我已经把所有数据拿出来了,然后在后台用C#代码根据业务对数据进行处理,大抵都是用linq进行一些where.any.select的处理,中间还夹杂着两三个foreach,结果 ...

  2. IOS使用Charts

    近期项目中要做图表功能,为了降低开发量採用的是H5+ECharts来做.这里说一下IOS中怎样使用ECharts以及遇到的问题. 网络模块化单文件引入 <!DOCTYPE html> &l ...

  3. Python 常用内建模块(time ,datetime)

    1,在Python中,与时间处理有关的模块就包括:time,datetime以及calendar. 2,在Python中,通常有这几种方式来表示时间:1)时间戳 2)格式化的时间字符串 3)元组(st ...

  4. PLS-00157: AUTHID only allowed on schema-level programs解决办法 包体的过程使用调用者权限方法

    在包体里写了一个过程,test执行时报错,但是如果把该过程单独拿出来创建一个,就能顺利执行. 在没加上调用者权  authid current_user之前,报错如下 ORA-01031: insuf ...

  5. Makefile 多个目标匹配的问题

    在windows下直接使用mingw32-make # ZTHREAD_A the static link library file of ZThread ZTHREAD_A = F:/ZJ/tool ...

  6. 由于没有正确使用Connection.setAutoCommit(false)而导致SQL语句没有被提交

    症状: 提交了Form,执行insert操作,经过Debug也确认PreparedStatement.executeUpdate()返回值>0,但是在MySQL中直接查询表,返回的仍然是Empt ...

  7. C. Magic Five

    C. Magic Five Time Limit : 2000/1000ms (Java/Other)   Memory Limit : 524288/262144K (Java/Other) Tot ...

  8. google web design html5制作工具

    Google 推出 Web Designer,帮助你做 HTML 5 设计的免费本地应用,支持 Windows 和 OS X 2013年10月1日        感谢读者 SamRaper 的提醒. ...

  9. PAT005 Path in a Heap

    题目: Insert a sequence of given numbers into an initially empty min-heap H. Then for any given index ...

  10. C++ Scoket的升级版(多态的运用)

    //Socket报文发送c++升级版 #define _CRT_SECURE_NO_WARNINGS #include<iostream> using namespace std; #in ...