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集合中的文档是不带文件名的, 如何解决?

阅读 1.4k
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题