html - Django:下拉框
问题描述
我的 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 没有出现在网页上。是什么赋予了?
我的意见.py:
class ItemDetailView(DetailView):
model = Item
template_name = "home/product-page.html"
解决方案
我试着举个例子,也许它对你有帮助。
你的模型是这样的:
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>
推荐阅读
- azure-devops - 如何将 DevOps 工件移动到 Jfrog 工件
- r - 将文件夹和子文件夹拆分为R中的数据框
- c# - 在 [] 之间的某个位置获取字符串中的文本
- python - Django 编辑用户配置文件模型
- c++ - 使 std::cout 不会因 O_NONBLOCK 失败或使 stdin O_NONBLOCK 保持标准输出阻塞?
- image-processing - Pytorch 创建带有增强图像的数据集
- cmake - 使用 ninja clean 删除所有生成的文件
- sql - Oracle 12c 一次性解锁所有锁定的用户
- python - 通过 terraform 更新 aws_lambda 函数而不删除以前的版本?
- wordpress - Woocommerce 产品显示过时的图像