Django国际化和本地化性能有什么区别?

z4bn682m  于 2023-05-30  发布在  Go
关注(0)|答案(2)|浏览(140)

关于在www.example.com中设置Django的USE_I18N = Falsesettings.py,文档说:
一个布尔值,指定是否应该启用Django的国际化系统。这提供了一种简单的方法来关闭它,以提高性能。
以及:
如果你不使用国际化,你应该花两秒钟在你的设置文件中设置USE_I18N = False。
这让它听起来像一个大问题。有没有人能给予我,在我需要它之前,把它关掉,我真的能获得多少性能?

7rfyedvj

7rfyedvj1#

没什么大不了的唯一真实的的变化是影响django.utils.translation包中可用的 *gettext函数家族。如果你设置USE_I18N=False,那么Django会用一个更快的实现来替换这些函数,而不是真正尝试翻译文本。如果你没有使用任何Django翻译工具,那么它不应该以这种或那种方式重要。即使您正在使用这些函数,它们的速度也足够快,以至于任何性能提升都不会被察觉。

a7qyws3x

a7qyws3x2#

如果使用cache_page装饰器,则使用USE_I18N = True可能会在缓存中创建许多重复的行,因为该高速缓存键会获得附加到它的语言代码。
因此,如果您的网站在许多国家/地区使用,这将对您的缓存命中率和缓存内存需求产生巨大影响,这可能会对您网站的性能和成本产生重大影响。

相关问题