【发布时间】:2017-11-01 10:17:03
【问题描述】:
我想显示用户为其用户个人资料选择的语言。
一切正常我只是无法显示完整的语言名称。所以当我写{{user.userprofile.language}} 时,html 输出是“英语、西班牙语、法语”,但是当我写{{user.userprofile.language.0}} 时,我得到的是“en”而不是“English”。
我现在拥有的:
<span>En</span>
<span>Fr</span>
<span>Sp</span>
我想要什么:
<span>English</span>
<span>French</span>
<span>Spanish</span>
有人知道如何显示完整的价值吗?
编辑:
class UserProfile(models.Model):
language = MultiSelectField(max_choices=3,choices=settings.LANGUAGES, default='en')
settings.py:
LANGUAGES = (
('en', _('English')),
('pt', _('Portuguese')),
('dt', _('Deutsch')),
('sp', _('Spanish')),
('fr', _('French')),
('nl', _('Dutch')),
('pl', _('Polish')),
('au', _('Austrian')),
('ch', _('Schweizerisch')),
('hr', _('Kroatisch')),
('ru', _('Russian')),
)
【问题讨论】:
-
完整值是多少?你会英语吗?所以呢?
-
我没有得到“English”当我做 {{user.userprofile.language.0}} 时得到“en”,但我想得到“English”。用户应该看到完整的单词,而不仅仅是两个字母......
-
你没有展示你的模型,所以我们不知道
userprofile.language是什么。 -
试试 {{user.userprofile.get_language_display}}
-
@Exprator 与 {{user.userprofile.language}} 相同,只要我在它后面写一个数字,它就只显示一个字母。而不是整个单词。所以 {{user.userprofile.get_language_display.0}} 给了我“E”而不是“English”
标签: django jinja2 django-multiselectfield