Python Django使用英语打印月名,即使语言代码为';es公司';
我有一个Django项目,我试图在带有Python Django使用英语打印月名,即使语言代码为';es公司';,python,django,django-templates,Python,Django,Django Templates,我有一个Django项目,我试图在带有datetemplate标记的模板中呈现月份名称 在mysettings.py中,我有以下内容,因为该应用程序在哥伦比亚运行(应该是西班牙语) 在模板中,我尝试按以下方式格式化日期: {{ car.expiration_date|date:'F' }} 根据文档,F返回月份的全名,这是真的,但以英语而不是西班牙语提供 我有其他Django项目可以使用这些设置正常工作,但我找不到原因,因为这一个不正常。您尝试过: 重新启动服务器 pip冻结以检查Djang
date
template标记的模板中呈现月份名称
在mysettings.py
中,我有以下内容,因为该应用程序在哥伦比亚运行(应该是西班牙语)
在模板中,我尝试按以下方式格式化日期:
{{ car.expiration_date|date:'F' }}
根据文档,F
返回月份的全名,这是真的,但以英语而不是西班牙语提供
我有其他Django项目可以使用这些设置正常工作,但我找不到原因,因为这一个不正常。您尝试过:
- 重新启动服务器
- pip冻结以检查Django版本=>再次检查是否没有更改
- 可能使用\u I18N//使用\u L10N
- 在代码中搜索语言代码以防万一
from django.conf import settings
print settings.LANGUAGE_CODE
print settings. …
如果您没有其他方法设置此特定模板的语言代码,您可以尝试通过切换到正确的语言在电子邮件模板中呈现日期:
{% load i18n %}
{% language 'es-co' %} {{ car.expiration_date|date:'F' }} {% endlanguage %}
请参阅不确定
es CO
是否为有效的区域设置。尝试使用es
。选中此项可直接从源代码中查看区域设置列表:es CO
根据Django文档是有效的区域设置,他们共享的链接不是Django文档。这是RCF,它指定了整个有效的地区,但不是Django特有的地区。我上面评论的意思是,Django没有针对您特定地区的翻译,只针对我发布的链接中的翻译。尝试使用es
区域设置(或最接近您所需的区域设置),它可能会起作用。啊,好吧@EduardLuca,我只使用es
进行了测试,但不适用于此特定模板。我当时没有想法,抱歉:)我尝试了您发送的内容,我惊讶地发现,在这个应用程序的主页中,我发送到模板的datetime对象正在以西班牙语打印。我比以前更糊涂了。什么?你试了什么?你的意思是它只在主页中工作吗?我正在我的主页视图中打印设置。语言\u code
,以进行测试,并且它是es CO
。我遇到问题的模板是一封电子邮件,我正在使用render_to_string
函数来呈现电子邮件正文html。您的问题中缺少这一点!呈现到字符串(…,context\u instance=RequestContext(request))是!你说得对!我只是在写那篇评论的时候才考虑过。但是发送电子邮件的方法是一个模型方法,它无法访问请求对象。
{% load i18n %}
{% language 'es-co' %} {{ car.expiration_date|date:'F' }} {% endlanguage %}