上载文件时更改了Django文件名

时间:2019-02-15 19:38:13

标签: django

我正在尝试使用表单上传文件,将其保存到目录中,并将文件路径保存到数据库。到目前为止,我可以上传文件并保存其路径,但是文件名已更改为一些随机字符串,例如 _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')

0 个答案:

没有答案
相关问题