パターンに問題があります。おそらくシェルがあなたのためにそれを展開していた可能性があります。
一般的には、パターン内のパス区切り記号(/または\)を避けるのが良い方法です。あなたは常にmakemessages
コマンドに固有のオプションを渡す必要がある場合は
、私は自分自身を使用するか、このいずれかのように、独自のラッパーを検討することもでき:
from django.conf import settings
from django.core.management.base import BaseCommand
from django.core.management import call_command
class Command(BaseCommand):
help = "Scan i18n messages without going into externals."
def handle(self, *args, **options):
call_command('makemessages',
all=True,
extensions=['html', 'inc'],
ignore_patterns=['externals*'])
これは、あなたが入力して保存し、共通のエントリを提供しますプロジェクト全体でメッセージをスキャンするためのポイントです(翻訳者の同僚は、一部のパラメータを紛失して翻訳を破棄しません)。
「」というファイルを完全に不要な(つまり「django」ディレクトリからの)メッセージから削除しないと、そのファイルを削除しないでください。これは、彼らが再び使用(または#, fuzzy
としてマークされますsimmilarもの、されたらgettextのは、古い未使用のメッセージをリサイクルすることができます
を編集 - 。MT4Xが述べたように - ラッパーは、上記にオプションを渡すことはできません。ラップコマンドこれは修正するのは簡単です:。。したがって
from django.conf import settings
from django.core.management.base import BaseCommand
from django.core.management import call_command
from django.core.management.commands.makemessages import Command as MakeMessagesCommand
class Command(BaseCommand):
help = "Scan i18n messages without going into externals."
option_list = MakeMessagesCommand.option_list
def handle(self, *args, **options):
options['all'] = True
options['extensions'] = ['html', 'inc']
options['ignore_patterns'] = ['externals*']
call_command('makemessages', **options)
- あなたは固定する必要があるもの修正し、残りの部分を曲げることができ そして、これは上記のような盲目オーバーライドするだけでなく、いくつかの条件を編集する必要はありませんコマンドに渡されたパラメータ - リストに何かを追加するか、欠落したときに追加するだけです。
ありがとう、 "django *"も私のために働く。 – balazs