是的,我想为我的模型存储翻译后的选项,但是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文档中的内容,颠倒mark_safe和translation的顺序,不使用懒惰的翻译等等。它总是归结为mark_safe工作或翻译工作。但从来没有两者兼而有之...
如何将这两个功能正确地结合起来?
2条答案
按热度按时间4nkexdtk1#
增加:
然后:
这被添加到Django 1.4文档中。
yqkkidmi2#
2023年怎么干?
工作原理与format_html相同,但保持懒惰的翻译懒惰!:)