如果从 Web 浏览器上传文件,则在服务器的上传目录中会出现image.png
一个名为的新文件。image.png
如果我然后上传另一个名为image.png
(同名)的文件,一个名为的新文件image_aj642zm.png
将出现在服务器上的上传目录中。
然后,如果我上传另一个名为image.png
(同样名称)的文件image_z6z2BaQ.png
,服务器上的上传目录中将出现一个名为的新文件。
如果上传目录中已经存在同名的文件,Django 使用什么方法重命名上传的文件?(即额外的_aj642zm
和_z6z2BaQ
来自哪里?)
常规设置:
在模型.py 中:
from django.db import models
class Image(models.Model):
image = models.ImageField(upload_to='uploads/')
在 forms.py 中:
from django import forms
from .models import Image
class ImageForm(forms.ModelForm):
class Meta:
model = Image
fields = ['image']
在views.py中:
from django.shortcuts import render, redirect
from .forms import ImageForm
def upload_image(request):
if request.method == 'POST':
form = ImageForm(request.POST, request.FILES)
if form.is_valid():
form.save()
return redirect('index')
else:
form = ImageForm()
return render(request, 'upload_file.html', {'form': form})