所以,我们有一个包含大量信息的页面,我们经常使用{%trans%},但是当我们实际使用它们(USE_I18N = True)时,网站会停止运行,~3.5秒与i18n对比300毫秒。
我们做了一些分析,似乎翻译初始化需要永远。
20.2% 0.503 /Library/Python/2.6/site-packages/Django-1.2.1-py2.6.egg/django/utils/translation/__init__.py
15.3% 0.383 /System/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/genericpath.py
11.4% 0.285 /System/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/gettext.py
8.6% 0.215 /Library/Python/2.6/site-packages/Django-1.2.1-py2.6.egg/django/utils/formats.py
8.5% 0.212 /System/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/posixpath.py
8.3% 0.206 /Library/Python/2.6/site-packages/Django-1.2.1-py2.6.egg/django/utils/functional.py
7.6% 0.189 /Library/Python/2.6/site-packages/Django-1.2.1-py2.6.egg/django/utils/translation/trans_real.py
我们尝试将{%trans%}块包装到另一个缓存翻译的模板标签中,但是只获得了几毫秒,并且这些页面实际上不可缓存(当然除了翻译)。
任何人都有这方面的经验,和/或关于如何加快这一进程的一些指示?或者我们可能把自己变成了什么样的陷阱?
答案 0 :(得分:3)
似乎L10N(django 1.2中的新内容)是罪人。我们通过不启用它来解决它(因为我们无论如何都使用ISO格式)。
可能应该向django报告......: - )
答案 1 :(得分:1)
将您的自定义缓存加入并尝试一些template fragment cacheing - 链接的文档显示如何将其与i18n一起使用