如何使用基于类的视图在Django中的一个模板上呈现2个不同的表单?

时间:2017-06-30 11:45:44

标签: django

在django基本民意调查中。我添加了添加民意调查的功能,我希望"添加选项"形式低于"民意调查细节"在模板上的表单,我该怎么做?

我希望"添加选项"在"细节"的投票下面呈现模板

添加选择视图:

arrayList = new ArrayList<Map<String, Object>>();

添加选择模板:

def choice_view(request,question_id):
    if request.user.is_staff and request.user.has_perm('poll.add_choice'):
        question=Question.objects.get(pk=question_id)
        if request.method=='POST':
            cform=choice_form(request.POST)
            if cform.is_valid():
                add_poll=cform.save(commit=False)
                add_poll.question=question
                add_poll.vote=0
                add_poll.save()
                cform.save()
            return HttpResponseRedirect(reverse('polls:add_choice',args=(question_id,)))
        else:
            cform=choice_form()
        return render(request,'polls/add_choice.html',{'cform':cform,'question_id':question_id},context_instance=RequestContext(request),)
    else:
        return HttpResponse('Permission Denied')

添加选择表格:

{% load crispy_forms_tags %}
{% include 'polls/base2.html' %}

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Add Choices</title>
</head>

<body>
<h1>Add Choices</h1>
<form method="post">
    {% csrf_token %}
    {{ cform.choice_text | as_crispy_field }}
    <button class="btn btn-primary btn-default" type="submit">Add Next</button>
    <a href="{% url 'polls:detail' question_id %}" class="btn btn-warning">Done</a>
</form>

</body>
</html>

民意调查详情视图:

class choice_form(forms.ModelForm):
    class Meta:
        model=Choice
        fields=['choice_text']

投票详情模板:

class DetailView(generic.DetailView):
    model=Question
    template_name = 'polls/detail.html'

0 个答案:

没有答案