Bagaimana cara mengubah lokasi gambar default di Django ImageField?

Mengalami masalah saat mencoba mengubah di mana Django mencari gambar default di ImageField. Saya mencoba menyimpan gambar default dalam folder di file "media" saya.

Kode dari models.py di bawah ini:

from django.db import models
from django.contrib.auth.models import User

class Profile(models.Model):
    user = models.OneToOneField(User, on_delete=models.CASCADE)
    image = models.ImageField(default='profile_pics/default.jpg', upload_to='profile_pics')

Ketika saya memuat halaman saya mendapatkan kesalahan 404:

Tidak Ditemukan: /media/default.jpg [21/Apr/2020 18:11:48] "DAPATKAN /media/default.jpg HTTP/1.1" 404 1795

Adakah ide tentang cara menambahkan bagian "profile_pics" ke jalur?


person tsmith41094    schedule 21.04.2020    source sumber


Jawaban (2)


tambahkan jalur media ke urlpatterns Anda dalam mode DEBUG

if settings.DEBUG:
    urlpatterns += static(settings.STATIC_URL, document_root=settings.STATIC_ROOT)
    urlpatterns += static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)
person EL hassane    schedule 21.04.2020
comment
Saya memiliki jalur itu di pola url saya. Semuanya berfungsi dengan baik jika saya menggunakan akun yang saya siapkan memiliki gambar untuk digunakan. Saya tidak bisa menjalankan semuanya ketika saya ingin mengembalikannya ke default. - person tsmith41094; 22.04.2020

Anda harus menyalin gambar dengan default.jpg di direktori media/profile_pics dan menggunakannya sebagai gambar default untuk pengguna

person Ali Rn    schedule 21.04.2020
comment
Tidak yakin saya mengerti. Saya memiliki gambar bernama default.jpg yang disimpan dalam folder profile_pics di direktori media. Tidak tahu apa yang sedang terjadi - person tsmith41094; 22.04.2020
comment
Saya baru menyadari bahwa Anda menyebut gambar Anda dengan tautan yang salah, tautan Anda /media/default.jpg tetapi gambar Anda ada di /media/profile_pics/default.jpg, panggil gambar Anda dengan tautan yang benar dan itu akan berfungsi;) - person Ali Rn; 23.04.2020