【问题标题】:The right way to send some data alongside with form与表单一起发送一些数据的正确方法
【发布时间】:2015-07-08 23:55:13
【问题描述】:

我有一个用户订单页面,其中显示了购物车中的产品和一个带有以下字段的表单:addressmobile number 等。我用 jquery 捕获了submit,我需要将下一个数据发送到服务器:我的表格和字典{id_of_product:choosen_ammount}。我需要发送那本字典,因为我检查是否有用户选择的产品数量。如果不是,则发送一些错误。我使用ajax。我的发送数据看起来:

data = {
            form : $(this).serialize(),
            products: somedict
        } 

在 django 中我下一步:

from urlparse import parse_qs
form = parse_qs(request.POST['form'])
    if request.POST:
        order_form = OrderForm(data=form)

但我遇到了一个问题:它将不正确的数据保存到数据库中。例如,它保存文本字符串,如:[u'\xd0\x9a\xd0\xb8\xd1\x97\xd0\xb2']。我试图检查返回 order_form.cleaned_data['address_city'] 的内容,但返回的结果相同。 那么,如何解决这个问题呢?

【问题讨论】:

  • somedict 是什么样的?可以举个例子吗?

标签: ajax django django-forms


【解决方案1】:

使用 Django 的QueryDict

from django.http import QueryDict


# Encode your form data to a byte string.
form_data = QueryDict(request.POST['form'].encode('ASCII'))
order_form = OrderForm(data=form_data)

注意:问题的第一部分:Pass json and deserialize form in django

【讨论】:

    猜你喜欢
    • 2019-01-03
    • 2014-01-22
    • 2016-08-12
    • 2013-04-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-06-07
    • 2010-10-27
    相关资源
    最近更新 更多