我的网站结构如下所示:
project
--apps
----app1
----app2
--docs
--templates
----module1
----module2
----module3
我该怎么办
django-admin.py makemessages --locale=en
在所有应用和模板目录上,但遗漏了module1和module3?
答案 0 :(得分:5)
我编写了一个简短的脚本来遍历项目目录中的文件夹,并在文件夹包含locale文件夹时创建翻译。该脚本可以轻松修改,以便在需要时排除应用程序/目录
我的项目文件夹结构是
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
答案 1 :(得分:2)
我认为你不能,除非你自己编写命令,这可能会花费你更多的时间,然后通过访问所需应用程序的文件夹并从那里运行../manage.py makemessages -l XX
来单独执行它们