Django 使用 mongoengine上传文件 如何保存文件名称

如题

我是通过mongofiles.exe创建的集合

models.py

from mongoengine import Document, StringField, FileField

class ReportForm(Document):
  title = StringField()
  report = FileField()

viewes.py

def report(request):
  if request.method == 'POST':

    report_form = ReportForm(title = request.POST.get('title'))

    f = request.FILES['report']
    
    # 这里打印的是文件名
    print(f)
    
    # 通过流保存文件
    report_form.report.new_file()

    for chunk in f.chunks():
      report_form.report.write(chunk)
      
    report_form.report.close()

    report_form.save()

    return HttpResponseRedirect('/files/report')
  else:
    return render(request, 'report.html')

report_form表
image.png
fs.files表
image.png

这样保存是成功的, 但在fs.files集合中的文档是不带文件名的, 如何解决?

阅读 196
评论 2019-10-20 提问
    撰写回答

    登录后参与交流、获取后续更新提醒