1

私のサイト構造は次のようになります。

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

どうすれば実行できますか

django-admin.py makemessages --locale=en

すべてのアプリとテンプレートディレクトリで、module1とmodule3を省略しますか?

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 に答える