我要添加一些渲染的地方(形式),优选甚至没有必须点击一个按钮,但按钮也可以。
我想获得在文本框中输入文本的乳胶版本。我使用modelForms与Django-extra-views。我想不应该是一项艰巨的任务,但我解决不了它。
我的问题是有什么办法吗?或者,如果我使用基于类的模型形式(如我的代码所示),该问题的解决方法是什么?
我尝试将form_valid()
方法重新定义为:
def form_valid(self, form):
if 'render' in self.request.POST:
# Do something
elif 'addQ' in self.request.POST:
# Do something
不过,这并不出于某种原因,我不明白。
class QuestionCreateView(LoginRequiredMixin, CreateWithInlinesView):
model = Question
form_class = questionForm
inlines = [QLevelInline, QSubjectInline, QMethodInline]
def forms_valid(self, form, inlines):
if 'render' in self.request.POST:
print("RENDER")
elif 'addQ' in self.request.POST:
print("ADD QUESTION")
form.instance.author = self.request.user
self.object = form.save()
for inline in inlines:
inline.save()
return super().form_valid(form)
<form method="POST">
{% csrf_token %}
<fieldset class="form-group">
{{ form }}
<button class="btn btn-outline-info" type="submit" name="render">Render</button>
{% for formset in inlines %}
{{ formset }}
{% endfor %}
</fieldset>
<button class="btn btn-outline-info" type="submit" name="addq">Add Question</button>
</form>
渲染部分恰好这样的 - 它在形式的中间,并且我使用latexify
Render-image(min 10 reputations are required to show inline - would be appreciated if anyone edits)
我期待找到一种方法,当我点击渲染我会不管形式正确与否充满所示的结果。
虽然它甚至不运行该函数forms_valid
当我点击按钮中的一个。
感谢您的帮助!