如何重命名以Django模型上传的图像

use*_*er1 6 django django-models

我有以下代码来提交表格:

form = form_class(request.POST, request.FILES, instance=object)
if form.is_valid(): 
form.save()
Run Code Online (Sandbox Code Playgroud)

image_path = models.ImageField(upload_to='books/')

当前 books/book1/jpg被插入该字段。

但我希望将图像重命名为modelName_pk.jpg并将该值保存在image_path

我该如何实现?

小智 2

每个上传的文件都保存在UploadedFilerequest.FILES的实例中,因此,使用表单中的图像字段的名称,您可以访问它:。request.FILES['imagename'].name

然后您可以照常保存模型实例。希望这对其他人有帮助,因为这是一个非常古老的问题