Python 如何在一个模板中呈现两个不同的表单?

Python 如何在一个模板中呈现两个不同的表单?,python,django,Python,Django,我是Django的新手。请帮忙。我已经用forms.py写了两份表格 forms.py from django import forms class MyForm(forms.Form): PRODUCT_SIZE = ( ('1', 'US letter 8.5x11 in'), ('2', 'US Trade 6x9 in'), ('3', 'commic book 6.63x10.25 in'), ('4', 'poc

我是Django的新手。请帮忙。我已经用forms.py写了两份表格

forms.py

from django import forms
class MyForm(forms.Form):
    PRODUCT_SIZE = (
        ('1', 'US letter 8.5x11 in'),
        ('2', 'US Trade 6x9 in'),
        ('3', 'commic book 6.63x10.25 in'),
        ('4', 'pocket book 4.25x6.88 in')
    )
    my_choice_field = 
forms.ChoiceField(choices=PRODUCT_SIZE,widget=forms.RadioSelect())


class BindingForm(forms.Form):
    BINDING = (
        ('1', 'Coil Bound Paperback'),
        ('2', 'Perfect Bound Paperback'),
        ('3', 'Saddle Stitch Paperback'),
    )
    my_binding_choice = forms.ChoiceField(choices=BINDING, 
widget=forms.RadioSelect())
from django.shortcuts import render,render_to_response
from .forms import MyForm,BindingForm

def my_view(request):
    form = MyForm()
    return render(request,'base.html',{'form': form})


def my_binding_view(request):
    form = BindingForm()
    return render(request,'base.html',{'binding_form':form})
视图.py

from django import forms
class MyForm(forms.Form):
    PRODUCT_SIZE = (
        ('1', 'US letter 8.5x11 in'),
        ('2', 'US Trade 6x9 in'),
        ('3', 'commic book 6.63x10.25 in'),
        ('4', 'pocket book 4.25x6.88 in')
    )
    my_choice_field = 
forms.ChoiceField(choices=PRODUCT_SIZE,widget=forms.RadioSelect())


class BindingForm(forms.Form):
    BINDING = (
        ('1', 'Coil Bound Paperback'),
        ('2', 'Perfect Bound Paperback'),
        ('3', 'Saddle Stitch Paperback'),
    )
    my_binding_choice = forms.ChoiceField(choices=BINDING, 
widget=forms.RadioSelect())
from django.shortcuts import render,render_to_response
from .forms import MyForm,BindingForm

def my_view(request):
    form = MyForm()
    return render(request,'base.html',{'form': form})


def my_binding_view(request):
    form = BindingForm()
    return render(request,'base.html',{'binding_form':form})
模板/base.html

<h2>Paper Size</h2>
{% for ele in form %}
    <div class="myradiolist">
        {{ ele }}
    </div>
{% endfor %}

<h2>Binding</h2>
{% for ra in Binding_form %}
    <div class="my2ndradiolist">
        {{ ra }}
    </div>
{% endfor %}
纸张尺寸
{%形式的元素为%}
{{ele}}
{%endfor%}
结合
{绑定形式为%的ra的百分比}
{{ra}}
{%endfor%}
但它只将模板类的第一部分“MyRadio list”呈现到前端,而只显示第二个类的一部分,之后没有其他内容。问题在哪里?或者我做错了整件事?如何在同一模板中显示模板的第二部分,就像在不同模板中显示第二部分一样,它呈现


提前感谢

每个url仅由一个视图处理,因此您需要编写一个视图,并在模板上下文中包含这两个表单

def my_view(request):
    form = MyForm()
    binding_form = BindingForm()
    return render(request,'base.html',{'form': form, 'binding_form': binding_form})

每个url仅由一个视图处理,因此您需要编写一个视图,并在模板上下文中包含这两个表单

def my_view(request):
    form = MyForm()
    binding_form = BindingForm()
    return render(request,'base.html',{'form': form, 'binding_form': binding_form})