是的,所以,我想为我的模型存储翻译的选择,但 Django 不同意我的观点。Django 的版本是 1.3,模型和选项如下所示:
from django.db import models
from django.utils.safestring import mark_safe
from django.utils.translation import ugettext_lazy as _
RATE_CHOICES = (
('', _('Choose service rate')),
('5cpm_EUR', mark_safe(string_concat('€ 0,05 ', _('per minute')))),
('1cpm_EUR', mark_safe(string_concat('€ 0,01 ', _('per minute')))),
)
class Product(models.Model):
service_rate = models.CharField(_('service rate'), max_length=10, blank=True, choices=RATE_CHOICES)
此外,这些选择用于模型表单(对于另一个模型,所以我不得不重新声明该字段),如下所示:
service_rate = forms.ChoiceField(choices=RATE_CHOICES, widget=forms.Select(attrs={'class': 'chzn-select rate-select'}), required=False)
问题是,无论我尝试什么;遵循 django docs 上的内容,颠倒 mark_safe 和翻译的顺序,不使用惰性翻译等。它总是归结为 mark_safe 工作或翻译工作。但从来没有两者...
如何正确结合这两个功能?