我正在尝试使用表单上传文件,将其保存到目录中,并将文件路径保存到数据库。到目前为止,我可以上传文件并保存其路径,但是文件名已更改为一些随机字符串,例如 _i1qky6X 或 _f8d66HN 而不是 hello.py 。谢谢。
views.py
class MapUploadView(FormView):
form_class = MapUploadForm
template_name = 'maps/upload_map.html'
def form_valid(self, form):
try:
savePath = settings.BASE_DIR + '/documents/'
filename = form.cleaned_data.get('file')
default_storage.save(savePath, filename)
map = Map()
map.file = savePath + str(filename)
map.floor_num = form.cleaned_data.get('floor_num')
map.save()
return HttpResponse("a new map was uploaded")
except Exception as e:
return HttpResponse(str(e))
models.py
class Map(models.Model):
file = models.FileField()
floor_num = models.IntegerField('Floor', null=False, blank=False)
def __str__(self):
return self.file
forms.py
class MapUploadForm(forms.ModelForm):
class Meta:
model = Map
fields = ('floor_num', 'file')