Python 重新加载django中所有进程/线程的.mo文件,而无需重新启动
我们正在为翻译人员开发一个.po文件编辑器。翻译人员需要在现场网站上看到他们正在做的改变 我们为当前进程/线程重新加载了.mo文件。但并非每个进程/线程都如此Python 重新加载django中所有进程/线程的.mo文件,而无需重新启动,python,django,Python,Django,我们正在为翻译人员开发一个.po文件编辑器。翻译人员需要在现场网站上看到他们正在做的改变 我们为当前进程/线程重新加载了.mo文件。但并非每个进程/线程都如此 有没有可能在没有更大性能问题的情况下实现这一点?我检查了一下,正如我所怀疑的,他们依赖自动加载机制。这就是我的建议。有关更多详细信息,请阅读。我们也遇到了同样的问题。用户必须直接在网站上写翻译。我找到了django 1.1的中间件,它清除了翻译缓存,并尝试在django 1.4的视图中使用它。 订单: 用户提交从与翻译 方法解析表单数据并
有没有可能在没有更大性能问题的情况下实现这一点?我检查了一下,正如我所怀疑的,他们依赖自动加载机制。这就是我的建议。有关更多详细信息,请阅读。我们也遇到了同样的问题。用户必须直接在网站上写翻译。我找到了django 1.1的中间件,它清除了翻译缓存,并尝试在django 1.4的视图中使用它。 订单:
from django.utils import translation
from django.utils.translation import trans_real, get_language
from django.conf import settings
import gettext
if settings.USE_I18N:
try:
# Reset gettext.GNUTranslation cache.
gettext._translations = {}
# Reset Django by-language translation cache.
trans_real._translations = {}
# Delete Django current language translation cache.
trans_real._default = None
# Delete translation cache for the current thread,
# and re-activate the currently selected language (if any)
translation.activate(get_language())
except AttributeError:
pass
从内存中,django rosetta在提交对定义文件的更改时会接触WSGI脚本文件。您是如何为当前线程重新加载它们的?谢谢!当我尝试测试翻译消息时,清除缓存解决了我的问题。