我有一段代码发送带有附加CSV文件的电子邮件。 CSV包含定价信息。我的国家使用逗号作为小数点分隔符,因此我希望在CSV数据中转换价格。但是,这不符合预期。
代码使用模板,该模板也在应用程序的另一部分中用于生成这些CSV。在这种情况下,转换按预期工作。
我的l10n& i18n config看起来像这样:
LANGUAGE_CODE = 'nl-NL'
TIME_ZONE = 'Europe/Amsterdam'
USE_I18N = True
USE_L10N = True
USE_TZ = True
负责手动解析模板的代码:
template = get_template("template_file.html")
context = Context({'object_list': get_object_list()}, use_l10n=True)
csv = template.render(context)
模板的一部分:
Aantal;Eenheid;Product;Omschrijving;Inkoopprijs Euro
{% for product in object_list %}"{{ product.amount_sum }}";"{{ product.unit_of_measurement }}";"{{ product.name }}";"{{ product.description }}";"{{ product.base_price }}"
{% endfor %}
(base_price
是DecimalField
)
答案 0 :(得分:1)
您应该在这里使用RequestContext
:
context = RequestContext(request, {'object_list': get_object_list()}, use_l10n=True)
如果没有这个django模板引擎将不知道正在使用哪个语言环境。