Django模型中的下拉列表
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Django模型中的下拉列表相关的知识,希望对你有一定的参考价值。
我想在Django models.py
中创建一个字段,它将作为下拉列表呈现,用户可以从那里选择选项。
如果我有5个选择:
- 绿色
- 蓝色
- 红色
- 橙子
- 黑色
我应该如何在models.py
和Forms.py
中编写代码,以便模板将其呈现为下拉元素?
答案
在模型choices
中使用https://docs.djangoproject.com/en/1.8/ref/models/fields/#choices选项指定CharField或IntegerField,并使用ModelForm https://docs.djangoproject.com/en/1.8/topics/forms/modelforms/。
另一答案
从模型到模板:
models.朋友
COLOR_CHOICES = (
('green','GREEN'),
('blue', 'BLUE'),
('red','RED'),
('orange','ORANGE'),
('black','BLACK'),
)
class MyModel(models.Model):
color = models.CharField(max_length=6, choices=COLOR_CHOICES, default='green')
forms.朋友
class MyModelForm(ModelForm):
class Meta:
model = MyModel
fields = ['color']
views.朋友
class CreateMyModelView(CreateView):
model = MyModel
form_class = MyModelForm
template_name = 'myapp/template.html'
success_url = 'myapp/success.html'
template.html
<form action="" method="post">{% csrf_token %}
{{ form.as_p }}
<input type="submit" value="Create" />
</form>
或仅显示您的选择字段:
{{ form.color }}
以上是关于Django模型中的下拉列表的主要内容,如果未能解决你的问题,请参考以下文章
在 Django 中,根据模型中其他字段中选择的值删除选择字段下拉列表中的选项
动态 html 使用 django 应用程序中 JSON 链接中的数据选择下拉列表
Django 3 - 使模型的 FK 下拉列表仅显示当前用户的数据