django如何处理post请求(2023年最新解答)

导读:今天首席CTO笔记来给各位分享关于django如何处理post请求的相关内容,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!

django 获取 POST 请求值的几种方法

1、django获取post过来的多个键值对:

Ajax:

var languages = {};

languages['english'] = ['mark', 'james'];

languages['spanish'] = ['amy', 'john'];

$.ajax({

type: 'POST',

url: '/save/',

data: languages,

dataType: 'json'

});

Django Views.py

if request.is_ajax() and request.method == 'POST':

for key in request.POST:

print key

valuelist = request.POST.getlist(key)

print valuelist

---------------------

fiddle:

name=june; age=26;

---------------------

views.py

16

for key in request.POST: 17 print key 18 valuelist =

request.POST.getlist(key) 19 print valuelist

----------------------------

Development

server is running at Quit the server with

CONTROL-C. Your method is POST! name

[u'june']

age [u'26'] [04/Apr/2012 10:58:11] "POST /getuin/ HTTP/1.1" 200 20

2、一次加载所有值:

def view_example(request):

data=simplejson.loads(request.raw_post_data)

django如何处理post请求(2023年最新解答)  第1张

如何在Django使用ajax的POST

post方式不同于get方式可以被django直接得到,因为django为post加入了csrf保护, 详细的文档地址

注释:在最新版本中,在setting.py里'django.middleware.csrf.CsrfViewMiddleware',默认是使用中的,如果没有请自行添加,并且确保此引用在其他所有viewware前面

MIDDLEWARE_CLASSES = (

'django.contrib.sessions.middleware.SessionMiddleware',

'django.middleware.common.CommonMiddleware',

'django.middleware.csrf.CsrfViewMiddleware',//this line is vsrf

'django.contrib.auth.middleware.AuthenticationMiddleware',

'django_cas.middleware.CASMiddleware',

'django.contrib.auth.middleware.SessionAuthenticationMiddleware',

'django.contrib.messages.middleware.MessageMiddleware',

'django.middleware.clickjacking.XFrameOptionsMiddleware',

)

如果想避过csrf检测这一层直接使用post的话,有几种方法:

1 需要在views.py里要出发post请求的函数前加入@csrf_exempt ,之前要引入from django.views.decorators.csrf import csrf_exempt

2 在 settings.py 中 MIDDLEWARE_CLASSES 中 注释掉'django.middleware.csrf.CsrfViewMiddleware'

说下正确使用csrf的方法 :

对于ajax.post方法,需要在ajax方法触发前加入一段js,这段我理解是用来生成不同的token,但是很好奇如果禁掉了co

使用django开发一个比较简单的post接口

先把前置条件说一下

1.首先搭建好django环境 win+r 打开命令提示符 pip install django

3.然后创建一个自己的app

同样在命令提示符 进入刚创建的工程所在路径 输入 python manage.py startapp xxx(这个指你要创建的app名字),创新编辑器可以看到

4.正式开始开发一个post请求

首先设置好参数 在seetings.py文件里如图修改

views.py

最后在templates文件夹下创建一个html文件简单地写一下前端

我这里直接贴自己写的 login.html

code部分算是完成 看一下效果

还可以进入fiddler查看验证,为了比较好查到 我们先打开fiddler后输入用户名 密码后fiddler上 remove all session

可以得到这么一条数据包

username,password的值也和我们输入的一致

到此完成一个简单的post请求开发

结语:以上就是首席CTO笔记为大家整理的关于django如何处理post请求的全部内容了,感谢您花时间阅读本站内容,希望对您有所帮助,更多关于django如何处理post请求的相关内容别忘了在本站进行查找喔。

以上内容为新媒号(sinv.com.cn)为大家提供!新媒号,坚持更新大家所需的互联网后端知识。希望您喜欢!

版权申明:新媒号所有作品(图文、音视频)均由用户自行上传分享,仅供网友学习交流,不声明或保证其内容的正确性,如发现本站有涉嫌抄袭侵权/违法违规的内容。请发送邮件至 k2#88.com(替换@) 举报,一经查实,本站将立刻删除。

(0)
上一篇 2023-09-23 13:03
下一篇 2023-09-23 13:03

相关推荐

发表回复

登录后才能评论