कल, मैं इस पोस्ट बनाया: DjangoRestFramework browsable api looks different locally vs when deployed on server?Django ऐप को तैनात करते समय AWS को स्थिर फ़ाइलों को कैसे सेवा दें (`python manage.py collectstatic` काम नहीं किया)?
असल में, जब मैं python manage.py runserver
किया था, इस दिखाया:
लेकिन उसके बाद मैं इसे एडब्ल्यूएस (eb deploy
) के लिए तैनात किया है, इस जब मैं का उपयोग मैं क्या देख रहा है साइट:
उपरोक्त पद का उत्तर यह है कि ऐसा इसलिए है क्योंकि मेरी स्थिर फाइलें गायब थीं। तो मैं खोज कैसे एडब्ल्यूएस पर स्टैटिक फ़ाइलें तैनात करने के लिए और इस ट्यूटोरियल में आए: http://docs.aws.amazon.com/elasticbeanstalk/latest/dg/create-deploy-python-django.html#python-django-update-app
"एक साइट प्रशासक बनाएं" अनुभाग के तहत, यह कहा गया है कि स्थिर फ़ाइलों सेवा करने के लिए, मैं पहले STATIC_ROOT
settings.py
में (परिभाषित करना होगा ताकि मैंने किया: STATIC_ROOT = os.path.join(BASE_DIR, "ebdjangoapp/static/")
) और फिर मैंने eb deploy
किया। हालांकि, साइट अभी भी दूसरी छवि (स्थिर फाइलों के बिना) के समान दिखती है। मैंने फिर python manage.py collectstatic
करने की कोशिश की (इसने rest_framework
निर्देशिका के साथ स्थिर फ़ोल्डर बनाया, जिसमें css
फ़ाइलें इत्यादि शामिल हैं) और फिर eb deploy
फिर से किया गया लेकिन साइट की स्थिति दूसरी छवि के समान दिखती है।
स्थिर फाइलें अभी भी क्यों दिखाई नहीं दे रही हैं?
ध्यान दें, मैं चारों ओर खोज की है और इस पोस्ट भर में आया था: Django app deployment not loading static files और जवाब का कहना है:
"तुम तो पीछे एक रिवर्स प्रॉक्सी के रूप में अपनी पसंद के वेब सर्वर के माध्यम से settings.STATIC_URL
पर settings.STATIC_ROOT
सेवा करने के लिए, बहुत सामान्य nginx जरूरत है अपने अपाचे-mod_wsgi ऐप सर्वर। "
लेकिन मुझे नहीं पता कि वेब सर्वर (nginx, रिवर्स प्रॉक्सी, अपाचे-mod_wsgi) कैसे काम करता है। मेरे पास एक Django ऐप है जिसे मैं python manage.py runserver
के साथ स्थानीय रूप से चलाता हूं, और मेरे पास एडब्ल्यूएस लोचदार बीनस्टॉक है। मैं eb deploy
कर अपने डीजेगो ऐप को एडब्ल्यूएस पर तैनात करता हूं। स्थाई फाइलों को तैनाती पर प्रकट होने के लिए मुझे क्या कदम उठाने की आवश्यकता है (मान लीजिए कि मुझे पता नहीं है कि nginx, रिवर्स प्रॉक्सी इत्यादि को कॉन्फ़िगर कैसे करें)।
क्या आप किसी भी समय 'python manage.py collectstatic'' चला रहे हैं? –
@ ग्राहम डंपलटन हां, मैंने इसे 'डीबी तैनात' करने से ठीक पहले किया था। (असल में, मैंने इसे स्थानीय रूप से किया, और सभी फाइलें स्थिर फ़ोल्डर में रखी गईं, फिर मैंने इसे तैनात किया)। – user2719875