我有一个包含 ImageField 和 FileField 的表单
文件正在上传到正确的文件夹,但是当我尝试检索要在屏幕上显示的 url 时,它给了我一个不正确的位置
fs_img = FileSystemStorage(location='media/images/')
imageName = fs_img.save(image.name,image)
uploaded_image_url = fs_img.url(imageName)
EG 图片上传为media/images/profile_image.jpg 但是,当我尝试检索刚刚保存的文件的 url 时,为了将位置保存到数据库,它会将其检索为不存在的media/profile_image.jpg
我知道 FileSystemStorage 使用的默认位置是MEDIA_ROOT,这似乎正是fs_img.url(imageName)使用的位置
BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
MEDIA_ROOT = os.path.join(BASE_DIR, 'media')
另外,我发现在 models.py 文件中使用 upload_to 设置没有效果
image = models.ImageField(
upload_to = 'media/images/',
default='media/no_image.png'
)
如何让 fs_img.url(imageName) 返回正确的 URL,以便我可以将其保存到我的数据库中?