我对表单有一个奇怪的问题,在两个视图中重用表单会在呈现表单时出现奇怪的行为。
我有一个我在两个视图中重用的表单,一个视图使用一个表单,因为它是第二个删除一个字段,因为我在 url 中提供该字段的值。他们,然后回到第一个视图。
如果您使用 django-crispy-forms 来呈现您的表单,这尤其令人讨厌。
编码:
第一种观点:
def get_form(self, form_class):
return super(BaseSale, self).get_form(form_class)
第二种观点:
def get_form(self, form_class):
form = super(BaseSale, self).get_form(form_class)
del form.fields['price']
return form
这是用户案例:
第一个请求,我在 view1 中渲染 formA
第二个请求,我在 view2 中呈现 formA,但删除了一个不打算使用的字段。
第三个请求,我再次在view1中渲染formA,我在view2中删除的字段在那里,但是字段的顺序是错误的。
这必须与不是线程安全的表单有关,但我无法调试它。
有什么想法可以解决这个问题吗?