Rumah >pembangunan bahagian belakang >Tutorial Python >Mengapa Saya Mendapat Ralat 404 Semasa Cuba Mengakses Imej yang Dimuat Naik dalam Django?

Mengapa Saya Mendapat Ralat 404 Semasa Cuba Mengakses Imej yang Dimuat Naik dalam Django?

DDD
DDDasal
2024-11-10 04:51:021007semak imbas

Why Am I Getting a 404 Error When Trying to Access Uploaded Images in Django?

Django MEDIA_URL dan MEDIA_ROOT: Menyajikan Imej Yang Dimuat Naik

Apabila bekerja dengan Django, adalah penting untuk memahami peranan MEDIA_URL dan MEDIA_ROOT yang diuruskan fail. Tetapan ini menentukan lokasi fail media yang dimuat naik pada pelayan (MEDIA_ROOT) dan URL yang digunakan untuk mengaksesnya (MEDIA_URL).

Dalam kes anda, anda telah mengalami ralat 404 semasa cuba mengakses imej yang dimuat naik . Ralat ini biasanya menunjukkan bahawa imej tidak boleh diakses melalui URL yang anda gunakan. Untuk menangani perkara ini, anda boleh mendayakan penyajian fail statik semasa pembangunan.

Untuk versi Django >= 1.7, anda boleh menambah perisian tengah statik(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT) pada corak url anda. Ini akan memastikan bahawa fail media yang dimuat naik boleh diakses semasa pembangunan.

Untuk versi Django <= 1.6, anda perlu menambah kod berikut pada urls.py anda:

from django.conf import settings

# ... your normal urlpatterns here

if settings.DEBUG:
    urlpatterns += patterns('',
        (r'^media/(?P.*)$', 'django.views.static.serve', {
        'document_root': settings.MEDIA_ROOT}))

Kod ini mendayakan siaran fail statik apabila DEBUG ditetapkan kepada Benar, membolehkan anda mengakses imej yang dimuat naik semasa pembangunan.

Atas ialah kandungan terperinci Mengapa Saya Mendapat Ralat 404 Semasa Cuba Mengakses Imej yang Dimuat Naik dalam Django?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn