我想显示用户为其用户个人资料选择的语言。
一切正常,我无法显示完整的语言名称。所以当我写{{user.userprofile.language}}
时,html输出是"英语,西班牙语,法语"但是当我写{{user.userprofile.language.0}}
时,我得到了" en"而不是"英语"。
我现在拥有的东西:
<跨度>恩< /跨度>
<跨度>星期五< /跨度>
<跨度> SP< /跨度>
我想拥有什么:
<跨度>英语< /跨度>
<跨度>法语< /跨度>
<跨度>西班牙语< /跨度>
有人知道如何显示完整的价值吗?
编辑:
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')),
)
答案 0 :(得分:1)
您好像正在使用此django-multiselectfield包吗?
阅读文档,看起来你应该做更多的事情:
{% for code, name in user.userprofile.language %}
<span>{{ name }}</span>
{% endfor %}
或者也许:
{% for code, name in user.userprofile.language.choices %}
<span>{{ name }}</span>
{% endfor %}
这些解决方案中的任何一个都适合您吗?
如果没有,您能否确认模型中的MultiSelectField
从哪里导入?