2011-11-25 7 views
26

私はDjango 1.3、Ubuntu 11.10、gunicorn、Nginxなどの小さなテストプロジェクトをvirtualenv内で実行していますが、今はNginxが提供するディレクトリに静的ファイルを取得するためにcollectstaticを実行しています。Djangoのcollectstaticを実行しているときにディレクトリを無視するには?

簡単のための私の静的なディレクトリがホーム/ユーザー/静的/のようなものであると私は私が実行/ホーム/ユーザー/プロジェクトに行くと私のプロジェクトは、/ホーム/ユーザー/プロジェクト

であるとしましょう:

​​

これは、インストールしたすべてのアプリケーションから静的ファイルを正しくコピーします。残念ながら、これもDjangoの管理者からファイルをコピーするので、私はそのファイルをスキップします。

glob-styleパラメータをとる-i(--ignore)パラメータがありますので、コマンドのさまざまなバリエーションを試しました。無視パターンが参照するかどうかわかりません私の/ home/user/staticまたは元のappディレクトリにコピーします。ここで仕事をdidn'tいくつかの例

python manage.py collectstatic --noinput -i /home/user/static/admin 
python manage.py collectstatic --noinput -i /home/user/static/admin/* 
python manage.py collectstatic --noinput -i /home/user/static/a* 
python manage.py collectstatic --noinput -i /home/alexis/.virtualenvs/django13/* 
python manage.py collectstatic --noinput -i /home/user/.virtualenvs/django13/lib/python2.7/site-packages/django/contrib/admin* 
私は/ホーム/ユーザー/静的/管理者からのシンボリックリンクを作成する場合/home/user/.virtualenvs/django13/libすることがわかった

/python2.7/site-packages/django/contrib/admin/media collectstaticはそれらのファイルのコピーを気付いてスキップしますが、とにかく、--ignoreオプションを必要に応じて動作させたいと思います。

私には何が欠けていますか?

ありがとうございました!

+0

私は同じ問題を抱えていますが、進歩を遂げましたか? – Hanpan

答えて

27

ディレクトリのフルパスを書き込まないでください。使用例:

python manage.py collectstatic --noinput -i admin 

このコマンドはadmin /ディレクトリをSTATIC_ROOTパスにコピーしません。

+0

特定のタイプのファイルを無視する必要があると仮定して、次のようにします。 python manage.py collectstatic --noinput -i * .styl ここで無視したいファイルには拡張子.styl? – Sachin

+5

はい。例: python manage.py collectstatic --noinput -i * .sass – tatlar

+1

複数の無視をどのように追加しますか?たとえばパス*と* * .scss'ファイルの 'admin'を使って何かを無視しますか? –

関連する問題