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

转载请注明出处:http://hi.baidu.com/leejun_2005/blog/item/9a37a22238f35c5bac34de54.html

from:http://stackoverflow.com/questions/7278523/avoiding-djangos-querydict-list-limitations

from:http://www.djangofoo.com/93/request-post-get-multiple-values

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 http://192.168.1.102:8357/ 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)
3、获取多个值作为一个列表

request.POST get multiple values

The QueryDict.getlist() allows to get all the checkbox(or select list) values from the request.POST/GET object.
Let’s assume we have a simple form with the following checkboxes. Each checkbox contains an ID of an artist. 1    <form method="post" action=""> 2       ... 3    <input value="1" name="artists" type="checkbox"> 4    <input value="2" name="artists" type="checkbox"> 5    <input value="3" name="artists" type="checkbox"> 6       ... 7    </form>
In views.py : 1    def handle(request): 2        if request.method == 'POST': 3             artists = request.POST.getlist('artists') # now artists is a list of [1,2,3]

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值