Статические файлы администратора Django 1.4 без приложения staticfiles - PullRequest
0 голосов
/ 02 апреля 2012

Примечания к выпуску Django 1.4 состояние:

Если вы неявно полагаетесь на путь статических файлов администратора в исходном коде Django, вам необходимо обновить этодорожка.Файлы были перемещены из django / contrib / admin / media / в django / contrib / admin / static / admin /.

Может кто-нибудь объяснить, как именно это делается?До Django 1.3 мы использовали ADMIN_MEDIA_PREFIX в settings.py, который сейчас не рекомендуется.Однако, поскольку мы все время разрабатываем наши статические файлы (js, css, ...), приложение staticfiles для нас довольно раздражающее.Вызывать collectstatic после каждой модификации - это кошмар: -P

Было бы здорово использовать чистое решение Python / Django.Если это невозможно, мы используем LighTPD в качестве сервера, а не Apache.

Ответы [ 2 ]

1 голос
/ 02 апреля 2012

manage.py collectstatic используется при развертывании, во время разработки вы можете сделать так, чтобы django обслуживал ваши статические и мультимедийные файлы, добавив это в ваш url.py:

.
from django.conf.urls.static import static
from django.conf import settings
from django.contrib.staticfiles.urls import staticfiles_urlpatterns

...
...

if settings.DEBUG:
   # add one of these for every non-static root you want to serve
   urlpatterns+= static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)
   # this take cares of static media (i.e. bundled in apps, and specified in settings)
   urlpatterns+= staticfiles_urlpatterns()

Это также будет обслуживать все статические файлы, которые связаны с повторно используемыми приложениями. Это исключает настоящий кошмар необходимости добавлять символические ссылки в корень веб-сервера для каждого стороннего приложения в проекте!

0 голосов
/ 02 апреля 2012

Упс, я только что нашел решение в новой документации Django:

https://docs.djangoproject.com/en/1.4/howto/deployment/wsgi/modwsgi/#serving-the-admin-files

...