mik*_*ana 6 django templates internationalization
我想将年份添加到Django blocktrans中 - 使用下面的语法.
{% blocktrans with now|date:"Y" as copydate %}
© {{ copydate }} Company
{% endblocktrans %}
Run Code Online (Sandbox Code Playgroud)
这类似于现有的Django票证(http://code.djangoproject.com/ticket/3088),它显然应该可以正常工作,但我也无法工作.
在这两种情况下,标签都不会被扩展,但其余的块转换呈现良好.
mig*_*iga 10
唯一的方法是在python中获取日期并使用日期过滤器,因为Reiner建议或定义您自己的模板标签.您可以创建一个小的上下文处理器来在上下文中设置日期.
def my_date(request):
import datetime
return {'my_date':datetime.datetime.now()}
Run Code Online (Sandbox Code Playgroud)
并在settings.py中添加此项
TEMPLATE_CONTEXT_PROCESSORS = DEFAULT_SETTINGS.TEMPLATE_CONTEXT_PROCESSORS + (
'the_package_of_my_tiny_function.my_date',
)
Run Code Online (Sandbox Code Playgroud)
在您的模板中使用它,如下所示:
{% blocktrans with my_date|date:"Y" as copydate %}
© {{ copydate }} Company
{% endblocktrans %}
Run Code Online (Sandbox Code Playgroud)
不要忘记在视图中将RequestContext作为context_instance传递
这是一个例子.
从Django 1.8开始,您现在可以使用{% now 'Y' as copydate %}
语法,因此您应该能够:
{% now 'Y' as copydate %}
{% blocktrans %}© {{ copydate }} Company{% endblocktrans %}
Run Code Online (Sandbox Code Playgroud)
资料来源:https://docs.djangoproject.com/en/dev/ref/templates/builtins/#now
归档时间: |
|
查看次数: |
4688 次 |
最近记录: |