2

正如标题中所说,有没有办法用 queystring 填充表单?

我有一个包含 2 个字段的 django 表单:

class MyForm(forms.Form):
    subject = forms.CharField(max_length=100)
    message = forms.CharField(max_length=100)

还有一个查询字符串

subject=this&message=that

有没有办法在不手动解析查询字符串的情况下填充表单?查询字符串是使用 jquery 的保存(在 db 中)形式.serialize()

我正在使用 django 1.5

编辑:

做类似的事情:

form = Myform(my_model.querystring)

给了我一个具有良好初始数据但没有cleaned_data 的表格

4

2 回答 2

2

无论您使用 POST 数据还是 GET 数据,实例化表单都是完全相同的。在这种情况下,您只需要做form = MyForm(request.GET).

于 2013-08-06T14:41:45.810 回答
2

好的,最后必须这样做才能正常工作。

from django.http import QueryDict
form = Myform(QueryDict(my_model.querystring).dict())

.dict() 成功了,使用原始 QueryDict 不起作用,同样的事情initial=QueryDict().dict()

于 2013-08-07T09:23:01.553 回答