Django使用模板标签来确定应该出现哪些对象

时间:2013-07-05 08:00:43

标签: django

。我有一个显示2 <div>的模板。首先<div>显示学生问题而另一个<div>显示一个表单,允许您编辑问题

enter image description here

我的模型如下。学生已经为他们创建了5个对象。我想弄清楚的是,如果所有问题对象都将字段问题留空,我怎样才能显示包含问题表单的<div>。而不是显示两种形式?

因为我不想在他们毫无疑问时首先显示问题清单。我想首先展示问题表格。所以它会允许他们添加他们的问题

models.py

class Question(models.Model):
    question= models.CharField(max_length=500)
    user = models.ForeignKey(User)

观点

def DisplayAll(request):
    q = Question.objects.filter(user=request.user)

    form = formset_factory(QuestionForm)
    formset = form(initial=q)
    return render(request,'question.html',{'formset':formset,'question':question})

模板

这个显示了问题

 <div>
 {% for question in q %}
 {{question.question}}
 {% endfor %}
 </div>

这个显示表格

 <div>
      {% for f in formset %}
      {{f}}
      {% endfor %}
 </div>

1 个答案:

答案 0 :(得分:0)

您可能希望使用for ... empty

<div>
 {% for question in q %}
    {{question.question}}

 {%empty%}
    <div>
      {% for f in formset %}
      {{f}}
      {% endfor %}
    </div>
 {% endfor %}
 </div>