Skip to main content
 首页 » 编程设计

python之在不使用 modelForm 的情况下在 Django 中上传和调整图像大小

2025年04月02日42webabcd

我必须调整图像大小并使用 django 将其上传到服务器,目前我正在使用文件系统存储来上传文件,但是我的代码是

def create_new_event(request, steps=None): 
    if request.method == 'POST': 
        stepFirstForm = CreateEventStepFirstForm(request.POST, request.FILES) 
        if stepFirstForm.is_valid(): 
            if request.FILES['artist_image']: 
                randomArtistImage = ''.join(random.choice('0123456789ABCDEFabcdefghijklmn') for i in range(8)); 
                myfile = request.FILES['artist_image'] 
                fs = FileSystemStorage() 
                fileName, fileExtension = os.path.splitext(myfile.name) 
                artistImageName = randomArtistImage+'-'+str(request.user.id)+str(fileExtension) 
                filename = fs.save('event_artists_images/'+artistImageName, myfile) 
                uploaded_artist_image_url = fs.url(filename) 

使用此代码我可以将图像移动到 event_artists_images 文件夹,但我还想将此图像的大小调整为 300*300 像素。我怎样才能做到这一点。如果我可以使用 PIL Image 类,那么在服务器上我如何上传和调整文件大小。

请您参考如下方法:

这个问题已经回答了好几次,除非我遗漏了什么。 此处的答案应该有所帮助,例如:Django resize image during upload 或这里 https://blog.louwii.fr/2016/03/django-resize-an-image-on-upload/