سلام زمانی که میخوام عکس هارو سرو کنم و داخل صفحه نشون بدم عکس هارو پیدا نمیکنه و 404 میده کد رو هرچقدر برسی میکنم متوجه مشکلی نمیشم اگر بگین مشکل کجاست ممنون میشم
محل ذخیره شده ی عکس ها:
uploads / images / BASE_DIR
settings.py
MEDIA_ROOT = BASE_DIR / 'uploads'
MEDIA_URL = '/media/'
urls.py:
urlpatterns = urlpatterns + static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)
html:
<ul>
{% for profile in profiles %}
<li>
<img src="{{ profile.image.url }}" alt="" width="150">
</li>
{% endfor %}
</ul>
models:
class CreateProfile(models.Model):
image = models.ImageField(upload_to='images')
وقتی میخوایم عکس آپلود کنیم مشکلی نداره ولی وقتی میخواد عکس رو سرو کنه و نشون بده 404 برمیگردونه
/media/images/Screenshot_7.png
اینجا دنباله عکس میگرده که با کدمون باید همینجا هم باشه ولی پیدا نمیکنه
ممنون میشم راهنمایی کنید
سلام خدمت شما دوست عزیز
برای گزینه های مربوط به STATIC_ROOT و MEDIA_ROOT از ساختار os.path.join استفاده کنین دوست من
MEDIA_ROOT = os.path.join(BASE_DIR, 'uploads', 'images')
وقتی از <img src="{{ profile.image.url }}" alt="" width="400"> استفاده میکنیم میره توی http://127.0.0.1:8000/media/images/Screenshot_48.png این مسیر دنبالش میگرده ولی وقتی از <img src="media/{{ profile.image }}" alt="" width="400">#} استفاده میکنیم میره توی این مسیر میگیرده که درسته http://127.0.0.1:8000/contact-us/media/images/Screenshot_48.png چرا این اتفاق میفته؟ چجوری باید با همون ساختار {{ profile.image.url }} کاری کنم که بره توی مسیر درست؟ صرفا برای اینکه متوجهش بشم میپرسم
یک اشتباهی توی ذخیره سازی تصویر در دیتابیس شما وجود داشته دوست من
یک بار با همین تنظیماتی که خدمتتون عرض کردم ، تمامی تصاویر رو پاک کنین و مجدد بارگزاری کنین
آدرس تمامی فایل های media شما باید با /media/ شروع بشه