我的forms.py是这样的:
SIZE_CHOICES = (
('s', 'Small'),
('m', 'Medium'),
('l', 'Large')
)
class ChooseSize(forms.Form):
size_choice = forms.ChoiceField(choices=SIZE_CHOICES)我的product_page.html尝试实现此表单:
<form method="POST" class="card-body">
{% csrf_token %}
<div>
{{ form.size_choice }}
</div>
</form>由于某种原因,size_choices没有出现在网页上。怎么回事?
我的views.py:
class ItemDetailView(DetailView):
model = Item
template_name = "home/product-page.html"发布于 2020-04-12 00:22:32
我试着举个例子,也许对你有帮助。
你的模型是这样的:
SIZE_CHOICES = (
('s', 'Small'),
('m', 'Medium'),
('l', 'Large')
)
class YourModel(models.Model):
size = models.CharField(max_length=10, blank=True, default='',choices=SIZE_CHOICES,verbose_name="size")表单:
class SizeForm(forms.ModelForm):
def __init__(self, *args, **kargs):
super(SizeForm, self).__init__(*args, **kargs)
class Meta:
model = YourModel
fields = '__all__'你的视图
def your_view(request):
form = SizeForm()
return render_response('product_page.html',{'form': form})模板
<form method="POST" class="card-body">
{% csrf_token %}
<div>
{% for x,y in form.fields.size_choice.choices %}
{{x}} --> {{y}}
{% endfor %}
</div>
</form>https://stackoverflow.com/questions/61159630
复制相似问题