Django 项目中需要国际化的 JavaScript 文件应该放在哪里?

发布于 2024-08-30 17:42:12 字数 407 浏览 10 评论 0原文

目前,所有 JavaScript 文件均由顶级项目目录中的 static/media 目录提供。运行 makemassages -d djangojs 时,它也会在顶层生成 locale 目录

但是,javascript_catalog 只会考虑在应用程序中创建的区域设置目录,即在 INSTALLED_APPS 设置中列出。

让 makemessages 和 javascript_catalog 协同工作以实际使用 JavaScript i18n 功能的正确方法是什么?

将 js 文件移到应用程序目录中并拥有多个静态目录(恕我直言,我目前正在通过 nginx 提供静态文件,这会扰乱conf)?

我正在使用Django 1.1

Currently all JavaScript files are served from our static/media directory in the top level project directory. When running makemassages -d djangojs it will generate the locale directory in the top level too.

However, javascript_catalog will only consider locale directories created in apps, i.e. listed in the INSTALLED_APPS setting.

What's the proper way of having makemessages and javascript_catalog work in tandem to actually use the JavaScript i18n functionality?

Move the js-files into the app dir and have multiple static directories (not appealing imho, I'm currently serving static files through nginx and this, among other things, will clutter the conf)?

I'm using Django 1.1

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

君勿笑 2024-09-06 17:42:12

几周前,我在每个项目目录中创建到媒体文件的符号链接时解决了这个问题,它对我来说工作得很好:-)

配置地狱,但“某种”DRY

i worked around this some weeks ago in creating symlinks in each project dir to the media files and it worked fine for me :-)

config hell but "some sort of" DRY

给我一枪 2024-09-06 17:42:12

最干净的解决方案是将区域设置(例如,位于应用程序上方的顶级项目目录中)添加到设置文件中的 LOCALE_PATH 中:

例如

LOCALE_PATHS = (
  '/somepath/project/locale',
)

The cleanest solution is to just add the locale (eg in your top-level project directory that sits above the apps) to LOCALE_PATH in your settings file:

eg

LOCALE_PATHS = (
  '/somepath/project/locale',
)
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文