【问题标题】:Django, upload image errorDjango,上传图片错误
【发布时间】:2018-06-22 05:42:29
【问题描述】:

在我的应用程序中,用户可以更改他们的个人资料数据,例如全名、性别、个人资料图片和其他内容。问题是当用户想要保留相同的个人资料图片并且文件输入为空时。在我看来,我如何支持这一点。

这是我的 html updateProfile.html

<form action="{% url 'updateprofile' %}" enctype="multipart/form-data" method="POST">{% csrf_token %}
  <input type="file" id="logofile" name="avatar" accept="image/gif, image/jpeg, image/png" value="">
  <input type="text"name="full_name">
  <input type="date"name="birthdate">
</form>

这是我的 views.py updateprofile

def updateprofile(request):
    #HERE IS WHERE I CHECK IF I CHANGE THE IMAGE OR NOT BUT THIS NOT WORKS IF THE FILE INPUT IS EMPTY
    if request.FILES['avatar']:
        avatar = request.FILES['avatar']

    full_name=request.POST['full_name']
    birth_date= request.POST['birthdate']

    c = user.objects.get(id=request.session['account_id'])
    c.full_name = full_name
    c.avatar = avatar
    c.save()
    return redirect('userprofile')

如果我在文件输入中更改文件,一切正常。但是,如果我不上传新图像并将文件输入保留为空白,则会出现错误。 如何检查 POST 请求中是否有文件?请帮忙

【问题讨论】:

    标签: python django file-upload django-uploads


    【解决方案1】:

    您可以使用 if request.FILES.get('avatar') 代替 if request.FILES['avatar'] 这不会引发 KeyError。

    【讨论】:

      猜你喜欢
      • 2017-08-02
      • 1970-01-01
      • 2014-05-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-02-10
      相关资源
      最近更新 更多