在使用数据库的 pylons i18n 应用程序的 setup_app 函数 (websetup.py) 中,我尝试启动要插入到数据库中的多语言内容。
这样做的想法是这样的:
#necessary imports here
def setup_app(command, conf, vars):
....
for lang in langs:
set_lang(lang)
content=model.Content()
content.content=_('content')
Session.add(content)
Session.commit()
不幸的是,它似乎不起作用。 set_lang 代码行引发异常,如下所示:
File ".. i18n/translation.py", line 179, in set_lang
translator = _get_translator(lang, **kwargs)
File ".. i18n/translation.py", line 160, in _get_translator
localedir = os.path.join(rootdir, 'i18n')
File ".. /posixpath.py", line 67, in join
elif path == '' or path.endswith('/'):
AttributeError: 'NoneType' object has no attribute 'endswith'
实际上,我什至不确定是否可以在没有事件请求对象的情况下从 setup_app 函数中启动 i18n 机制。
有人在类似的故事中尝试过一些技巧吗?
抱歉,我不熟悉 i18n 和 Pylons...
也就是说,您需要找出“路径”是什么,以及它的相对关系。该错误是因为路径预计是一个字符串,但实际上被设置为 None...导致异常,因为代码正在尝试字符串操作“path.endswith()”,但路径为 None。
我是一名优秀的程序员,十分优秀!