1

我的网站结构如下所示:

project
--apps
----app1
----app2
--docs
--templates
----module1
----module2
----module3

我怎么跑

django-admin.py makemessages --locale=en

在所有应用程序和模板目录上,但忽略模块 1 和模块 3?

4

2 回答 2

6

我编写了一个简短的脚本来遍历我的项目目录中的文件夹,并在文件夹包含语言环境文件夹时创建翻译。如果需要,可以轻松修改以排除应用程序/目录的脚本

我的项目文件夹结构是

Project
--App1
----locale
--App2
----locale
--ProjectRoot - settings.py file is in ProjectRoot folder
----locale
etc

此脚本 ( run_makemessages.py) 位于Project文件夹中

import os
project_root = "/path/to/your/Project"
dirs = os.listdir(project_root)
for app in dirs:
    app_path = os.path.join(project_root, app)
    locale_path = os.path.join(app_path, "locale")
    if(os.path.exists(locale_path)): #modify this condition for exclusion of specific folders
        os.chdir(app_path)
        os.system("django-admin.py makemessages -a --no-wrap")

并且被调用python run_makemessages.py- 即它被直接调用并且不使用 django-admin 或 manage.py

于 2012-07-11T06:06:38.530 回答
2

我认为你不能,除非你编写自己的命令,这可能会花费你更多的时间,然后通过访问所需应用程序的文件夹并../manage.py makemessages -l XX从那里运行来单独执行它们

于 2012-06-14T15:49:18.753 回答