DjangoAdmin将奇怪的字符添加到ImageField

use*_*815 6 python django

我有一个用于“人”模型的ImageField。

models.py

from django.db import models

    class People(models.Model):
        firstname   = models.CharField(max_length=100)
        lastname    = models.CharField(max_length=100)
        img         = models.ImageField(upload_to='media/people')
Run Code Online (Sandbox Code Playgroud)

问题是,当我尝试通过Django Admin添加人员对象并选择图像文件时,Django admin在图像的末尾添加了奇怪的字符(看起来像哈希值),这导致图像不显示在网站上。

例如,这是我的Django Admin页面,用于添加人员:

在此处输入图片说明

当我单击保存并检查我的管理员时,将显示以下内容:

在此处输入图片说明

如您所见,由于某种原因,它在图像名称的末尾添加了“ _PQSSbcg”。因此,网站无法显示图像,因为模板试图找到“ jose_atria.jpg”。

Django Admin为什么要添加这些额外的字符,我该如何摆脱呢?

谢谢

Asw*_*esh 5

添加随机额外字符是因为您上传了两次同名文件。

在再次上传之前删除以前的现有文件将对您有所帮助