如何给django javascript_catalog视图提供包名?

ham*_*guz 6 django

来自django文档:

js_info_dict = {'packages':('your.app.package',),}

urlpatterns = patterns('',(r'^ jsi18n/$','django.views.i18n.javascript_catalog',js_info_dict),)

包中的每个字符串都应该是Python的dot-package语法(与INSTALLED_APPS中的字符串格式相同),并且应该引用包含语言环境目录的包.

它说"包含locale目录的包".,但我用djangoadmin.py makemessages -a创建了翻译文件,它在项目目录中创建了语言环境.不在我的任何应用程序目录下.我尝试将包设置为

js_info_dict = {'packages':('my_project_dir',),}

显然这不适合我.来自django域的每个字符串都会被翻译,但我从javascript_catalog视图中获取了javascript中的空翻译目录.我在这里失踪了什么?

poc*_*coa 7

首先,您需要确保您的js_info_dict是这样的:

js_info_dict = {
    'domain': 'djangojs',
    'packages': ('my_project_name',),
}
Run Code Online (Sandbox Code Playgroud)

正如@daonb建议的那样,将"my_project_name"添加到settings.py中的INSTALLED_APPS.

确保编译您的邮件,如下所示:

django-admin.py makemessages -a -d djangojs
Run Code Online (Sandbox Code Playgroud)

就这样!

我不知道为什么Django没有将这些信息纳入其文档中.我可以使用以下这些文章找到解决方案:

http://www.aminche.com/blog/2010/07/06/playground-editor http://code.djangoproject.com/ticket/5494 http://osdir.com/ml/django-users/2010- 04/msg00231.html