And*_*rew 4 django json django-forms django-serializer
接下来的问题是:我将一些带有 ajax 的发布数据发送到服务器。这个数据看起来像:
data = {
form : $(this).serialize(),
some_array: [2,3,4,1]
}
Run Code Online (Sandbox Code Playgroud)
如何在 Django 中获取表单对象?request.POST['form']返回一个带有表单的字符串。我正在尝试使用import json图书馆。
但是,当我运行时
value = json.load(request.POST['some_array']),
form = json.load(request.POST['form'])
它不起作用。
打印request.POST['form']返回以下内容:
u'csrfmiddlewaretoken=I3LWAjfhZRGyd5NS3m9XcJkfklxNhxOR& address_city=%D0%9A%D0%B8%D1%97%D0%B2& address_street=2& address_building=3& delivery_time=2015-05-15'
表单数据不是用 JSON 编码,而是作为查询字符串。您可以使用urlparse.parse_qs标准库来解析该查询字符串。
例子:
from urlparse import parse_qs
form_data = parse_qs(request.POST['form'].encode('ASCII')) # Query strings use only ASCII code points so it is safe.
# To access address_city:
address_city = form_data['address_city'][0].decode('utf-8')
# If you plan to pass form_data to a Django Form,
# use QueryDict instead of parse_qs:
from django.http import QueryDict
form_data = QueryDict(request.POST['form'].encode('ASCII'))
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
6045 次 |
| 最近记录: |