[Django]models中定义的choices 字典在页面中显示值_html/css_WEB-ITnose

WBOY
Freigeben: 2016-06-24 11:56:05
Original
1163 Leute haben es durchsucht

问题:

在django的models.py 中,我们定义了一些choices的元组,类似一些字典值,一般都是下拉框或者单多选框,例如 0对应男 1对应女等

class Area(models.Model):    Area_Level = (         (0, u'全国'),         (1, u'省、直辖市'),         (2, u'市、直辖市区'),         (3, u'区、县等'),    )    areaname = models.CharField(max_length=30,unique=True, verbose_name='区域名称')    code = models.CharField(max_length=20,blank=True, default="", verbose_name='区域代码')    parentid  = models.IntegerField(verbose_name='父级id', null=True)    level = models.IntegerField(choices=Area_Level,verbose_name='层级', null=True)
Nach dem Login kopieren

在页面中有个table要把表中的字段显示出来,如果数据库中存储的是0就显示 全国, 1就显示省、直辖市 类似:

名称	代码	层级	     上级地区	操作全国		全国(0)		        删除北京	bj	省、直辖市(1)	全国	删除
Nach dem Login kopieren

django中有没有这种方法可以让我们直接使用呢? 


解决:

我们可以先google 看下,第一个结果:

http://stackoverflow.com/questions/4320679/django-display-choice-value

这里就是答案了,一个是用django自带的方式,一个是使用if来判断(这种显然大家都不喜欢)


django的文档在这里:

https://docs.djangoproject.com/en/dev/ref/models/instances/#django.db.models.Model.get_FOO_display

在页面上我们只要这么写就可以直接把字典的值显示出来了

 <td>{{ obj.get_level_display  }}({{ obj.level }})</td>
Nach dem Login kopieren

obj.get_字段名称_display 。 

要想使用好框架,还是要多看文档才行。


本文出自 “orangleliu笔记本” ?博客,转载请务必保留此出处http://blog.csdn.net/orangleliu/article/details/40268093

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!