/ / Django 1.4 व्यवस्थापक स्थिर फाइलें staticfiles ऐप के बिना - django, स्थिर, django-admin, django-1.4

Django 1.4 व्यवस्थापक स्थिर फाइलें staticfiles ऐप के बिना - django, स्थिर, django-admin, django-1.4

Django 1.4 रिलीज नोट्स राज्य:

यदि आप पूरी तरह से रास्ते पर भरोसा कर रहे हैंव्यवस्थापक स्थिर फाइलें Django के स्रोत कोड के भीतर, आपको उस पथ को अपडेट करने की आवश्यकता होगी। फ़ाइलों को django / contrib / admin / media / से स्थानांतरित कर दिया गया था Django / योगदान / व्यवस्थापक / स्थिर / व्यवस्थापक /।

क्या कोई समझा सकता है कि यह वास्तव में कैसे किया जाता है? Django 1.3 तक हमने settings.py में ADMIN_MEDIA_PREFIX का उपयोग किया, जिसे अब बहिष्कृत किया गया है। हालांकि, चूंकि हम अपनी स्थिर फाइलों (जेएस, सीएसएस, ...) पर हर समय विकास कर रहे हैं, इसलिए staticfiles ऐप हमारे लिए एक कष्टप्रद नोगो है। प्रत्येक संशोधन के बाद संग्रहित कॉलिंग एक दुःस्वप्न है :- पी

एक शुद्ध पायथन / Django समाधान बहुत अच्छा होगा। यदि यह असंभव है, तो हम सर्वर के रूप में LighTPD का उपयोग कर रहे हैं और अपाचे नहीं।

उत्तर:

उत्तर № 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