【问题标题】:MultiValueDictKeyError when Djano Imagefield is blankDjango 图像字段中的 MultiValueDictKeyError 为空白
【发布时间】:2017-03-31 02:02:15
【问题描述】:

我有一个非常简单的模型和表单,希望用户填写姓名、标题等并上传图片。一切正常,但是一旦用户尝试在不上传图像的情况下提交记录,就会出现 Multivaluedictkey 错误。我在字段定义中设置了 null =true 和 blank = true 。 :"photo = models.ImageField(upload_to='media',null=True,blank=True)" 。只要用户上传图像,媒体存储和检索也可以正常工作。简而言之,我请求您帮助提出建议,使我能够让用户提交记录而不必上传图像。

Traceback:
File "/home/sampledemo/.virtualenvs/django18/local/lib/python2.7/site-packages/django/core/handlers/base.py" in get_response
  132.                     response = wrapped_callback(request, *callback_args, **callback_kwargs)
File "/home/sampledemo/mysite/polls/views.py" in someview
  45.             newproject.photo = request.FILES['photo']
File "/home/sampledemo/.virtualenvs/django18/local/lib/python2.7/site-packages/django/utils/datastructures.py" in __getitem__
  322.             raise MultiValueDictKeyError(repr(key))

Exception Type: MultiValueDictKeyError at /someview/
Exception Value: "'photo

【问题讨论】:

    标签: django-models


    【解决方案1】:

    在你的代码中你有

    newproject.photo = request.FILES['photo']
    

    您将收到MultiValueDictKeyError,原因如下
    1.request.FILES没有名为photo的键
    2.request.FILES同一个key可能有多个值

    如果是第二种情况,您应该使用request.FILES.getlist('photo') [如果您上传多个相同的文件。在您的情况下,它是“照片”]

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2022-01-11
      • 2014-06-25
      • 2013-07-02
      • 1970-01-01
      • 2020-05-24
      • 2018-04-01
      • 1970-01-01
      • 2014-04-28
      相关资源
      最近更新 更多