/ / Django 1.4 admin статичні файли без додатків staticfiles - django, static, django-admin, django-1.4

Django 1.4 адміністратор статичні файли без додатків staticfiles - django, static, django-admin, django-1.4

Примітки до випуску Django 1.4 держава:

Якщо ви неявно спираєтесь на шляхадміністративні статичні файли у вихідному коді Django вам потрібно оновити цей шлях. The файли були перенесені з django / contrib / admin / media / to django / contrib / admin / static / admin /.

Чи може хтось пояснити, як саме це зроблено? До Django 1.3 ми використовували ADMIN_MEDIA_PREFIX в налаштуваннях.py, що зараз не підтримується. Однак, оскільки ми постійно розробляємо наші статичні файли (js, css, ...), додаток статичних файлів є досить дратує нас. Виклик колективом після кожної модифікації - кошмар: -P

Чисте рішення Python / Django буде чудовим. Якщо це неможливо, ми використовуємо LighTPD як сервер, а не Apache.

Відповіді:

1 для відповіді № 1

У процесі розгортання використовується файл 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 для відповіді № 2

На жаль, я знайшов рішення в новій документації Django:

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