我有一个像这样定义的模型......
class Message(models.Model):
email_subject = models.CharField(max_length=100, null=False, blank=False)
email = models.TextField(null=False, blank=False)
希望能够为每个字段分配两个单独的verbose_names(一个用英文,一个用阿拉伯语)。因此,当我创建一个ModelForm并将其呈现给我的模板时...我可以做这样的事情......
{% for field in form %}
<p>
{% if field.field.required %}
<label for="{{ field.arabic_verbose_name}}" class='RequiredLabel'>{{ field.name }}</label>
{% else %}
<label for="{{ field.auto_id }}">{{ field.verbose_name}}</label>
{% endif %}
{% if field.errors %}
<div class='FieldErrorBox'>{{ field }}</div>
{% else %}
{{ field }}
{% endif %}
</p>
{% endfor %}
这可能吗?
答案 0 :(得分:0)
from django.utils.translation import ugettext_lazy
class Message(models.Model):
email_subject = models.CharField(ugettext_lazy('Message field', 'email subject'), max_length=100, null=False, blank=False)
email = models.TextField(ugettext_lazy('Message field', 'email address'), null=False, blank=False)
Django internationalization可以处理这项任务。与django-modeltranslation之类的包相结合通常可以简化任务。值得做一些tutorials来连接点。在模板中使用可翻译字符串时,会使用标记(通常为{% trans %}
),以便执行正确的查找。