如标题中所述,是否有一种方法可以填充带有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
的表单答案 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()