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

مشاكل ملفات الSTATIC في مشروع Django عند الرفع على إستضافة heroku

محمد الصعب

السؤال

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

قمت برفع مشروع 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

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

قد تكون مشكلتك مشابهة لـهاته:

رابط هذا التعليق
شارك على الشبكات الإجتماعية

  • 0

حياك الله، أنا مشترك بالمنصة بخدمة postgres basic تعطي حجم تخزين صغير لكنهه يكفي لتخزين البيانات وأكثر، ولكن لم أعلم لماذا لا تضهر الصور

رابط هذا التعليق
شارك على الشبكات الإجتماعية

  • 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.

  • إعلانات

  • تابعنا على



×
×
  • أضف...