Python 如何在一个模板中呈现两个不同的表单?
我是Django的新手。请帮忙。我已经用forms.py写了两份表格 forms.pyPython 如何在一个模板中呈现两个不同的表单?,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
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})