Serving Django MEDIA file on production

السلام عليكم
قمت مأخرا بعمل deploy ل django app
هو عبارة عن portfolio يمكن لصاحبه اضافة اعماله
كل عمل او job فيها image يقوم صاحب الportfolio برفعها من ال admin site
بالامس قمت برفع عدة اعمال للتجربة فقط و كان كل شيء يشتغل
لكن اليوم صباحا اصبحت الصور الخاصة بكل job لا تظهر و اذا ماحاولت الدخول على الصورة من ال admin site
تظهر صفحة 404
بحثت و لم اتوصل لشيء حتى الان
urls.py file
image
settings.py
image
help !
@hichem2h
@YaserAlnajjar
@Alhakem
@ahmedalrifai
الرابط
https://azhar-portfolio.herokuapp.com

6 Likes

وعليكم السلام
كيف حالك ياسيف
هل تأكدت من مسار الصورة في ال template ربما لا يشير الا مجلد media

انصحك بتغير MEDIA_ROOT الى

MEDIA_ROOT = os.path.join(BASE_DIR, 'media')

لتفادي حفظ الوسائط في المجلد الرئيسي للمشروع

2 Likes

اهلا احمد
في الtemplate قمت بالتالي {{ job.image.url }}
المشكل انه يتعرف اليها و يعرضها بعض الوقت ثم تختفي من الموقع
بعدما اغير مسار MEDIA ROOT ماذا علي ان افعل
او اكتفي ب staging ل github ?

2 Likes

بعد تغير مسار الميديا غير ال ىimg tag الى

<img src={{MEDIA_URL}}{{job.image.url}}>

هل الصور لا تظهر في heroku فقط او حتى في ال local؟

شوف هذا السؤال في stackoverflow ممكن يفيدك

2 Likes

في ال local كل شي شغال 100%
لكن موجود 404 في الterminal

2 Likes

للأسف يا سيف هيروكو لا يخزن في الميديا التي يتم رفعها بواسطة المستخدم, لازم تستعمل خدمة اخرى لتخزينها مثل AWS S3.
هذا الجواب موضح السبب اذا تحب تعرف لما هيروكو لا يخزن في الميديا.

6 Likes

فعلا هذا ما يحدث دائما مع هيروكو بعد نصف ساعه تقريبا تختفي الصور والحل هو استخدام Amazon S3 service

5 Likes

نعم المشكلة في سياسة هيروكو، فهم يحذفوا الصور من الموقع.
والحل كما ذكروا الزملاء ان تستخدم خدمة تخزين صور مجانية متل امازون او فيربيس.

3 Likes

انا استخدم aws s3 كأستضافة للملفات لو كنت اعمل على heroku

شوف نهاية هذا الموضوع

4 Likes

لكن يبقى مشكل انها خدمة مدفوعة و حتى التجربة المجانية تحتاج لبطاقة بنكية حسب ما رأيت

4 Likes

حينها لا تستعمله إلا لزبون يريد منك موقع متكامل (أو الخيار الآخر أن تأخذ حينها سيرفر يخص الزبون) :smile:


يوجد أيضا pythonanywhere بديل لهيروكو وهو جيد جدا لنشر مواقعك ورفع الصور مجانا :wink:

5 Likes

استاذ ياسر سعدت جدا بجوابك :grin::grin:
سأجربه حتما شكرا لك :heart:

3 Likes

أعتقد أنك حصلت على الإجابة الكاملة لهذا لم يبق لي إلاّ أن أتمنى لك التوفيق :palms_up_together::muscle:

3 Likes

شكرا لك يا فتحي :smile:

2 Likes