Django python问题:选择下拉菜单返回项目的数值。我无法弄清楚如何获取它的文本值。
Models.py
profile_types = (('0', "Yadda"), ('1', "Frank and beans"), ('2', "Type"), ('3', "Placeholder"),\
('4', "Another"), ('5', "And another"), ('6', "aaand another"),\
('7', "Another"), ('8', "Last Type"))
class Profile(models.Model):
user = models.ForeignKey(User, null=True, unique=True)
profile_types = models.CharField(max_length=2, choices=profile_types)
Forms.py
class EditProfileForm(forms.Form):
profile_types = (('0', "Yadda"), ('1', "Frank and beans"), ('2', "Type"), ('3', "Placeholder"),\
('4', "Another"), ('5', "And another"), ('6', "aaand another"),\
('7', "Another"), ('8', "Last Type"))
name = forms.CharField(max_length=100, required=False, widget=forms.TextInput(attrs={'class':'input-text'}) )
about = forms.CharField(widget=forms.Textarea(attrs={'class':'input-text'}), required=False)
org_name = forms.CharField(max_length=100, widget=forms.TextInput(attrs={'class':'input-text'}))
org_type = forms.CharField(max_length=8, widget=forms.Select(choices=choices))
profile_type = forms.CharField(max_length=4, widget=forms.Select(choices=choices))
模板:
<span>{{ profile.profile_type }}</span>
返回
1 <-- (I'm trying to display "Frank and beans") -->
答案 0 :(得分:2)
为此目的,您的模型有一个方法get_profile_type_display
:https://docs.djangoproject.com/en/dev/ref/models/instances/#django.db.models.Model.get_FOO_display
顺便提一下,如果您还想要,也可以使用dict(profile_types)
或[b for a,b in profile_types if a == test_value]
来搜索选项,其中test_value
是您要查找的数值。