/ / Django 1.4 admin statické súbory bez staticfiles app - django, statické, django-admin, django-1.4

Django 1.4 admin statické súbory bez staticfiles app - django, statické, django-admin, django-1.4

Poznámky k vydaniu Django 1.4 state:

Ak sa implicitne spoliehate na cestuadmin statické súbory v rámci zdrojového kódu Django, budete potrebovať túto cestu aktualizovať. súbory boli presunuté z django / contrib / admin / media / do Django / contrib / admin / static / admin /.

Mohol by niekto vysvetliť, ako sa to presne stalo? Až po Django 1.3 sme v nastavení.py použili ADMIN_MEDIA_PREFIX, ktorý je teraz zastaraný. Avšak, pretože sa stále vyvíjame na našich statických súboroch (js, css, ...), staticfiles app je pre nás dosť nepríjemný nogo. Volanie po každom modifikovaní je nočná mora :-P

Jednoduché riešenie Python / Django by bolo skvelé. Ak to nie je možné, používame LighTPD ako server a nie Apache.

odpovede:

1 pre odpoveď č. 1

manage.py collectstatic sa používa pri nasadzovaní, počas vývoja môžete django slúžiť svojim statickým a mediálnym súborom tak, že ich pridáte do vášho 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()

Toto tiež bude slúžiť pre všetky statické súbory, ktoré sú spojené s opakovane použiteľnými aplikáciami. Tým sa zabráni skutočná nočná mora musíte pridať do svojho koreňového adresára webových serverov symbolické odkazy pre každú aplikáciu tretej strany na jeden projekt!


0 pre odpoveď č. 2

Hops, práve som našiel riešenie v Django novú dokumentáciu:

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