有没有办法用查询字符串填充表单?

时间:2013-08-06 14:33:29

标签: jquery python django forms query-string

如标题中所述,是否有一种方法可以填充带有queystring的表单?

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

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

这样的查询字符串
subject=this&message=that

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

我正在使用django 1.5

编辑:

做类似的事情:

form = Myform(my_model.querystring)

给了我一个包含良好初始数据但没有clean_data

的表单

2 个答案:

答案 0 :(得分:2)

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

答案 1 :(得分:2)

好的,最后必须这样才能让它发挥作用。

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

.dict()完成了这个技巧,使用原始QueryDict不起作用,同样适用于initial=QueryDict().dict()