避免 Django 的 QueryDict 列表限制
我正在尝试将数据从网页发送到 django 视图,以将其作为序列化 json 保存到数据库中。如果可能的话,我想避免使用 django 的 QueryDict 对象,而只使用 simplejson 读取请求,压平并保存到数据库。发送数据以便 simplejson 可以展平数据的最佳方式是什么?
var languages = {};
languages['english'] = ['mark', 'james'];
languages['spanish'] = ['amy', 'john'];
$.ajax({
type: 'POST',
url: '/save/',
data: languages,
dataType: 'json'
});
。
if request.is_ajax() and request.method == 'POST':
for key in request.POST:
print key
valuelist = request.POST.getlist(key)
print valuelist
I'm trying to send data from a webpage to a django view to be saved as serialized json to a database. If possible, I would like to avoid django's QueryDict object and just read the request with simplejson, flatten, and save to the database. What is the best way to send the data so simplejson can flatten it?
var languages = {};
languages['english'] = ['mark', 'james'];
languages['spanish'] = ['amy', 'john'];
$.ajax({
type: 'POST',
url: '/save/',
data: languages,
dataType: 'json'
});
.
if request.is_ajax() and request.method == 'POST':
for key in request.POST:
print key
valuelist = request.POST.getlist(key)
print valuelist
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
我怀疑是否可以使 django 避免创建 QueryDict,但您可以忽略它(来自 iPhone Json POST 请求到 Django 服务器在 QueryDict 中创建 QueryDict):
<代码>
I doubt that it is possible to make django avoid creating QueryDict, but you can ignore it (from iphone Json POST request to Django server creates QueryDict within QueryDict):
您是否尝试过 QueryDict.lists() 或 QueryDict.dict() 方法? https://docs.djangoproject.com/en/dev/参考/请求响应/#querydict-objects
Have you tried the QueryDict.lists() or QueryDict.dict() methods? https://docs.djangoproject.com/en/dev/ref/request-response/#querydict-objects
您可以尝试http://code.google.com/p/jquery-json/ 并在客户端制作 json 字符串。
只是认为:
这不是最佳实践,但有时对我来说效果很好。
You can try http://code.google.com/p/jquery-json/ and make json string on client side.
in view just:
it's not the best practice, but it works fine for me sometimes.