我的情况是我有时会显示一个表单,有时我不会显示它。
实际上,有多种形式使用相同的tbl_items_transactions
按钮。
如果模板中未显示特定表单,我该怎么做才能处理这种情况。
模板代码
Submit
这是视图代码
{% extends BASE_TEMPLATE %}
{% load crispy_forms_tags %}
{% block title %}<h2>New Thread</h2>{% endblock %}
{% block content %}
<div class="col-md-6">
<form method="post" accept-charset="utf-8">{% csrf_token %}
{{ threadForm|crispy }}
{{ postForm|crispy }}
{% if SHOW_WIKI %}
{{ wikiFrom|crispy }}
{% endif %}
<input type="submit" class="btn btn-primary btn-sm" value="Submit"/>
</form>
</div>
{% endblock %}
答案 0 :(得分:1)
这不会给出确切的答案,但您可以稍微更改一下代码。为您提供条件部分。
if threadForm.is_valid() and postForm.is_valid():
thread = threadForm.save(commit=False)
post = postForm.save(commit=False)
thread.wiki_revision = None
thread.op = post
post.setMeta(request)
if is_authenticated(request):
post.created_by = request.user
post.save()
thread.save()
if wikiForm.is_valid():
print("WikiForm is valid!")
wiki = wikiForm.save(commit=False)
print("Wiki has content")
wiki.setMeta(request)
if is_authenticated(request):
wiki.author = request.user
wiki.wiki_for = thread
wiki.save()
thread.wiki_revision = wiki
thread.save()
return HttpResponseRedirect(thread.get_absolute_url)