代码之家  ›  专栏  ›  技术社区  ›  hamdiakoguz Sukima

如何为django javascript_目录视图提供包名称?

  •  6
  • hamdiakoguz Sukima  · 技术社区  · 16 年前

    来自Django文档:

    JS-信息-口述={ 'packages':('your.app.package',),

    urlpatterns=模式(“”, (R'^jsi18n/$','django.views.i18n.javascript_catalog', JS-信息听写),)

    包中的每个字符串都应该在 python点包语法(相同 格式化为字符串 已安装的应用程序),应参考 包含区域设置的包 目录。

    它说“一个包含区域设置目录的包”,但是我用djangoadmin.py makemessages-a创建了翻译文件,它只在项目目录中创建了区域设置。不在任何应用程序目录下。我尝试将包设置为

    JS-信息-口述={ 'packages':('my_project_dir',),

    显然这对我不起作用。Django域中的每个字符串都会被翻译,但我会从javascript目录视图中得到一个空的javascript翻译目录。我这里缺什么?

    3 回复  |  直到 11 年前
        1
  •  7
  •   pocoa    16 年前

    首先,您需要确保您的JS信息字典如下所示:

    js_info_dict = {
        'domain': 'djangojs',
        'packages': ('my_project_name',),
    }
    

    正如@daonb建议的那样,在settings.py中将“我的项目名称”添加到已安装的应用程序中。

    请确保这样编译消息:

    django-admin.py makemessages -a -d djangojs
    

    这就是全部!

    我不知道为什么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

        2
  •  3
  •   daonb    16 年前

    尝试将“我的项目目录”添加到settings.py中已安装的应用程序中。

        3
  •  0
  •   miguelfg    11 年前

    对于我的特定案例中的其他人,当您使用i18n语言URL时,JS消息会生成并编译为OK,但不会在模板或页面中呈现。

    这是因为JavaScript目录应该添加到i18nURL模式,而不是普通模式。

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

    = & gt;

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