如何在webapp中设置django模板系统使用的语言(和文化)?

时间:2010-02-19 14:43:30

标签: google-app-engine localization django-templates

我正在使用WebApp框架编写Google App Engine应用程序。我希望各种django过滤器使用用户代理请求的语言(和文化)而不是默认(英语)。我主要对timesincetimeuntildate感兴趣。

附带问题:如何在WebApp中启用django.contrib.markup提供的过滤器?

1 个答案:

答案 0 :(得分:3)

如何在webapp中设置django模板系统使用的语言(和文化)?

您正在寻找的是django的国际化和本地化功能。它们分别缩写为I18N和L10N。

http://makeyjl.blogspot.com/2009/02/using-djangos-i18n-in-google-app-engine.html

感谢这篇文章,我得到了django的多语言支持(国际化)以及GAE的webapp框架。它将指导您完成调整各种旋钮和拨号的步骤,以根据传入的请求激活正确的语言和区域设置。

与我的设置中的文章的唯一区别是我将“设置”部分中的代码复制到I18NRequestHandler.reset_language()方法的顶部,以避免偶尔出现“环境变量DJANGO_SETTINGS_MODULE未定义”错误。

注意:我接受“文化”,你的意思是“语言环境”

如何在WebApp中启用django.contrib.markup提供的过滤器?

将以下内容放在包含“main”函数的文件中,就在所有import语句的下方。

from google.appengine.ext import webapp
webapp.template.register_template_library('django.contrib.markup.templatetags.markup')

由于GAE不提供Textile,Markdown或reST开箱即用,您需要放置您想要在GAE项目中使用的任一个库,例如,{{1}只是工作。

然后,您可以编写import textile并让标记过滤器处理它。