Django模型ImageField中的默认图像不起作用

时间:2019-12-14 20:48:16

标签: python django django-models

在Django模型的model.ImageField中,默认图像有很大的问题。 我的用户/models.py:

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

还有我的project / urls.py:

if settings.DEBUG:
    urlpatterns += static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)

在我的project / settings.py中,我有:

MEDIA_ROOT = os.path.join(BASE_DIR, 'media')
MEDIA_URL = '/media/'

在网站上,我图片的src是(未知)... 我在管理控制台中上传的每张图片都可以。当用户没有图像时,就是这种默认设置。

这有什么问题?我过去做过一次,一切都奏效。 你能帮我吗?

1 个答案:

答案 0 :(得分:1)

它将在 default.jpg 目录中寻找图像/media/。如果default.jpg位于profile_pics/子目录中,则应将default=…参数指定为profile_pics/default.jpg

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