文件上传Django代码无法从/ var / www /

时间:2017-10-23 06:08:09

标签: django

def upload(request):
    print(request.FILES)
    if request.POST and request.FILES:
        files = request.FILES
        print(files)

        for file in files:
            data = files[file]
            with open('/tmp/%s' % data.name, 'wb+') as dest:
                for chunk in data.chunks():
                    dest.write(chunk)
        return render(request, "create.html")

    return HttpResponse("Failed to Upload")

以上代码适用于Django项目位于根文件夹中的情况,但是当我将代码推送到/ var / www /文件夹时,相同的代码无效。

对于request.FILES我没有收到输出中上传的文件。<MultiValueDict: {}>

无法理解代码丢失的位置。

任何人都可以帮我找出问题所在吗?谢谢!

2 个答案:

答案 0 :(得分:0)

<form action="{% url "upload" %}" method="post" enctype="multipart/form-data">{% csrf_token %}
    <label for="bmcs_key">BMCS KEY: </label><input type="file" value="bmcs_key"><br>
    <label for="ssh_key">SSH KEY: </label><input type="file" value="ssh_key"><br>
    <label for="provider">provider: </label><input type="file" value="provider"><br>
    <label for="tenant_name">Tenant Name: </label><input type="text" name="tenant_name"><br>
    <label for="username">User Name: </label><input type="text" name="username"><br>
    <input type="submit" value="Upload">
</form>

答案 1 :(得分:0)

在输入标签代码中添加name属性后。