我有一个类QuestionView
,它派生自FormView
类。在这里
是解释我的问题的代码片段:
class QuestionView(FormView):
...
context_var1 = y
def form_valid (self, form):
...
self.context_var1 = x
...
def get_context_data(self, **kwargs):
...
context['context_var1'] = self.context_var1
...
return context
如上所示,我在form_valid
中更新了一组上下文变量
我打算在模板中使用这些变量的更新值,从而使用context
字典中的变量。此代码的问题在于
context_var1
没有出现-可能是因为get_context_data
在form_valid
方法之前调用。有没有解决办法
这个?
在views.py中
在test.html中
我刚在Django 1.10.3找到这个方法。 希望能帮助你
在Django 2.0.1中,可以通过重写
get_context_data
或form_invalid
来插入上下文数据。在您的情况下,可以执行以下重写之一:
或:
Django 2.0.1将表单插入到
get_context_data
的kwargs中。我用
form_invalid
来做这个。我是这样做的:如果没有有效的表格,你也可以这样做。通常情况下,有效表单的主体如下所示:
必须同时重写
post
和form_valid
,因为post
调用form_valid
。为了澄清,这个问题存在的原因是
ProcessFormView
类的get
方法被破坏了。通常看起来是这样的:它只是把夸尔格扔掉
(._.)
相关问题 更多 >
编程相关推荐