关于在www.example.com中设置Django的USE_I18N = Falsesettings.py,文档说:一个布尔值,指定是否应该启用Django的国际化系统。这提供了一种简单的方法来关闭它,以提高性能。以及:如果你不使用国际化,你应该花两秒钟在你的设置文件中设置USE_I18N = False。这让它听起来像一个大问题。有没有人能给予我,在我需要它之前,把它关掉,我真的能获得多少性能?
USE_I18N = False
7rfyedvj1#
没什么大不了的唯一真实的的变化是影响django.utils.translation包中可用的 *gettext函数家族。如果你设置USE_I18N=False,那么Django会用一个更快的实现来替换这些函数,而不是真正尝试翻译文本。如果你没有使用任何Django翻译工具,那么它不应该以这种或那种方式重要。即使您正在使用这些函数,它们的速度也足够快,以至于任何性能提升都不会被察觉。
a7qyws3x2#
如果使用cache_page装饰器,则使用USE_I18N = True可能会在缓存中创建许多重复的行,因为该高速缓存键会获得附加到它的语言代码。因此,如果您的网站在许多国家/地区使用,这将对您的缓存命中率和缓存内存需求产生巨大影响,这可能会对您网站的性能和成本产生重大影响。
cache_page
USE_I18N = True
2条答案
按热度按时间7rfyedvj1#
没什么大不了的唯一真实的的变化是影响django.utils.translation包中可用的 *gettext函数家族。如果你设置USE_I18N=False,那么Django会用一个更快的实现来替换这些函数,而不是真正尝试翻译文本。如果你没有使用任何Django翻译工具,那么它不应该以这种或那种方式重要。即使您正在使用这些函数,它们的速度也足够快,以至于任何性能提升都不会被察觉。
a7qyws3x2#
如果使用
cache_page
装饰器,则使用USE_I18N = True
可能会在缓存中创建许多重复的行,因为该高速缓存键会获得附加到它的语言代码。因此,如果您的网站在许多国家/地区使用,这将对您的缓存命中率和缓存内存需求产生巨大影响,这可能会对您网站的性能和成本产生重大影响。