Wie zu ignorieren Verzeichnisse beim ausführen von Django collectstatic?
Ich bin ein kleines test-Projekt mit Django 1.3, Ubuntu 11.10, gunicorn und Nginx, alles in einem virtualenv, und jetzt bin ich mit collectstatic, um meine statischen Dateien in das Verzeichnis, dass Nginx dient aus.
Einfachheitshalber nehmen wir mal an mein static-Verzeichnis ist so etwas wie /home/user/statische und mein Projekt ist unter /home/user/Projekt
Wenn ich auf /home/user/Projekt, das ich ausführen:
python manage.py collectstatic --noinput
und es richtig kopiert statische Dateien aus alle apps, die ich installiert habe. Leider ist das auch die Dateien kopiert, die von Django-admin und ich würde gerne übersprungen, dass man.
Ich habe in der Dokumentation für collecstatic und es gibt eine -ich (--ignore) - parameter, nimmt eine glob-style-Parameters, so dass ich versucht, verschiedene Variationen des Befehls, wie Im nicht sicher, ob die ignorier-Muster bezieht sich auf mein /home/user/statische oder die original-app-Verzeichnis.
Hier einige Beispiele, die nicht funktioniert:
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*
Fand ich, dass wenn ich einen symbolischen link von /home/user/static/admin /home/user/.virtualenvs/django13/lib/python2.7/site-packages/django/contrib/admin/media collectstatic feststellen, und überspringen Sie das kopieren dieser Dateien wieder, aber trotzdem, Id gerne die --ignore-option funktioniert wie es sollte.
Was bin ich?
Danke für die Hilfe!
- Ich habe das gleiche problem, hast du es geschafft, irgendwelche Fortschritte zu machen?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Schreiben Sie keine vollständigen Pfad der Verzeichnisse an. Zum Beispiel:
Dieser Befehl wird nicht kopieren Sie die admin/Verzeichnis zu STATIC_ROOT Weg.
admin
im Pfad und jede*.scss
Dateien?manage.py help collectstatic
sagt:-i PATTERN, --ignore=PATTERN Ignore files or directories matching this glob-style pattern. Use multiple times to ignore more.
also @PhilGyford verwenden Sie so etwas wie:-i admin -i *.scss
Den Django Version 2.2 hat schließlich angesprochen, die sehr langjährige Problem der Angabe ignorieren, Parameter mit Pfad matching, zum Beispiel
sollte dann funktionieren.