اذهب إلى المحتوى

السؤال

نشر

السلام عليكم، مرحباً يا أصدقاء.

قمت برفع مشروع Django على منصة Heroku ولكن الصور لم تضهر وبحثت ويبدو أن المشكلة في ملفات STATIC، ماهي الطريقة الأفضل لجعل Heroku يصل الى الملفات ويعرض الصور الموجودة وحتى الصور اللتي أقوم برفعها من لوحة التحكم.

6391d0067f3c6_--...thumb.png.e8f153e76eba2ac8cb3594b7d3611166.png

Recommended Posts

  • 1
نشر
بتاريخ 12 دقائق مضت قال محمد الصعب:

 

للأسف لم تعمل هذه الطريقة، وسبق أن جربتها، هذا رابط الريبو والموقع اذا أردت القاء نظرة:

https://github.com/al3tiby/housstates

https://housstates.herokuapp.com/

مرحبا مجددا محمد،

الملفات الثابتة static files تظهر في موقعك بشكل صحيح. لاحظ أن الصورة المتواجدة في الصفحة الرئيسية تظهر بالشكل المطلوب.

المشكلة في الصور التي تقوم بتحميلها والتي تعتبر عبارة عن Media Files قم بتغيير

MEDIA_URL = 'images/'

في ملف الإعدادات إلى:

MEDIA_URL = 'static/img/uplouded/'

وسوف تظهر الصور.

بالتوفيق.

  • 0
نشر

مرحبا محمد،

يمكنك استعمال الوحدة whitenoise والتي تسمح لتطبيق الويب الخاص بك من إظهار الملفات الثابتة (static files) دون الاعتماد على nginx أو Amazon S3 أو أي خدمة خارجية أخرى. وهي مفيدة بشكل خاص على heroku كما هو موضح من خلال التوثيق الخاص بها.

استعمل الأمر التالي لتثبيت الوحدة:

pip install whitenoise

قم بوضع هذه الإعدادات في settings.py.

STATIC_ROOT = os.path.join(BASE_DIR, 'staticfiles')
STATIC_URL = '/static/'

STATICFILES_DIRS = (
    os.path.join(BASE_DIR, 'static'),
)

MIDDLEWARE = [
    # ...
    "django.middleware.security.SecurityMiddleware",
    "whitenoise.middleware.WhiteNoiseMiddleware",
    # ...
]

بعدها قم بنشر مشروعك على heroku حتى يتعرف على الملفات الثابتة.

لا تنسى إضافة الوحدة إلى ملف requirements.txt الخاص بك قبل أن ترفعه على heroku

بالتوفيق.

  • 0
نشر (معدل)
بتاريخ 2 ساعات قال مسعود زاهي:

مرحبا محمد،

يمكنك استعمال الوحدة whitenoise والتي تسمح لتطبيق الويب الخاص بك من إظهار الملفات الثابتة (static files) دون الاعتماد على nginx أو Amazon S3 أو أي خدمة خارجية أخرى. وهي مفيدة بشكل خاص على heroku كما هو موضح من خلال التوثيق الخاص بها.

استعمل الأمر التالي لتثبيت الوحدة:


pip install whitenoise

قم بوضع هذه الإعدادات في settings.py.


STATIC_ROOT = os.path.join(BASE_DIR, 'staticfiles')
STATIC_URL = '/static/'

STATICFILES_DIRS = (
    os.path.join(BASE_DIR, 'static'),
)

MIDDLEWARE = [
    # ...
    "django.middleware.security.SecurityMiddleware",
    "whitenoise.middleware.WhiteNoiseMiddleware",
    # ...
]

بعدها قم بنشر مشروعك على heroku حتى يتعرف على الملفات الثابتة.

لا تنسى إضافة الوحدة إلى ملف requirements.txt الخاص بك قبل أن ترفعه على heroku

بالتوفيق.

 

للأسف لم تعمل هذه الطريقة، وسبق أن جربتها، هذا رابط الريبو والموقع اذا أردت القاء نظرة:

https://github.com/al3tiby/housstates

https://housstates.herokuapp.com/

**تعديل: الصور المقصودة ليست الثابته وانما الصور المرفوعة من قبل العميل داخل الملفات الثابته /static/img/uplouded

تم التعديل في بواسطة محمد الصعب
اضافة معلومة للسؤال
  • 0
نشر
بتاريخ 23 دقائق مضت قال مسعود زاهي:

مرحبا مجددا محمد،

الملفات الثابتة static files تظهر في موقعك بشكل صحيح. لاحظ أن الصورة المتواجدة في الصفحة الرئيسية تظهر بالشكل المطلوب.

المشكلة في الصور التي تقوم بتحميلها والتي تعتبر عبارة عن Media Files قم بتغيير


MEDIA_URL = 'images/'

في ملف الإعدادات إلى:


MEDIA_URL = 'static/img/uplouded/'

وسوف تظهر الصور.

بالتوفيق.

شكراً لك، الحل عمل بشكل صحيح

انضم إلى النقاش

يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.

زائر
أجب على هذا السؤال...

×   لقد أضفت محتوى بخط أو تنسيق مختلف.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   جرى استعادة المحتوى السابق..   امسح المحرر

×   You cannot paste images directly. Upload or insert images from URL.

  • إعلانات

  • تابعنا على



×
×
  • أضف...