ホームページ > 記事 > ウェブフロントエンド > [Django]モデルで定義された選択肢辞書は、page_html/css_WEB-ITnose の値を表示します
質問:
django の models.py では、いくつかの辞書の値に似た選択肢のタプルを定義します。通常はドロップダウン ボックスまたは単一および複数の選択ボックスです。たとえば、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)
データベースに 0 が格納されている場合は国全体が表示され、1 の場合は都道府県と市区町村が表示されます。
名称 代码 层级 上级地区 操作全国 全国(0) 删除北京 bj 省、直辖市(1) 全国 删除
Django にそのようなメソッドはありますか? 直接使用するとどうなりますか?
解決策:
最初にグーグルで検索すると、最初の結果が表示されます:
http://stackoverflow.com/questions/4320679/django-display-choice-value
これが答えです。 django に付属するメソッドの 1 つは、 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>
obj.get_field name_display と記述することで、辞書の値を直接表示できます。
フレームワークをうまく使いたい場合は、さらに多くのドキュメントを読む必要があります。
この記事は「orangleliu Notebook」ブログからのものです。転載する場合は必ずこのソースを保管してください http://blog.csdn.net/orangleliu/article/details/40268093