Python Django 使用post方式上传文件夹,以及后台处理方法

版权声明:そう何簡単な諦めるわけないだろう。。 https://blog.csdn.net/Inuyasha_1314/article/details/80514080

1. 直接看表单中的代码

            <form action="/upload_/"method="post" enctype="multipart/form-data">
                {% csrf_token %}
                <input type="file" multiple="" webkitdirectory="" name="root">
                <input type = 'text' name = 'path'>
                <input type="submit"  >
            </form>

解释几点
- a 第一行,action=”/upload_/” ,/upload_/是要跳转的网页地址
- b 第二行,一定要加上,否则,报错【苦】
- c 第三行,实现上传文件夹!必须这么写,否则,type=’file’上传的是文件!!
- d 第四行,输入的是文件的路径,就比如:’C:\Users\HP\Desktop\素材’,我上网搜了好久好久,终于发现,高版本的谷歌浏览器,和IE以及火狐是不可以直接通过上传的文件读取到“文件的绝对路径”的!!

2. Django后台处理

应用app的views.py中,自己定义的一个函数!

def upload(request):
    if request.method == 'POST':# 获取对象
        obj = request.FILES.get('root')
        # 获取文件的一个对象
        path = request.POST['path']
        # 获取手工输入的路径
    return render(request, 'upload.html',{'path':path})
    # 把path这个变量,作为参数传递给,upload.html

3. 参数的调用

upload.html中的代码

    <body>
            <h1>谢谢您的使用,正在为您计算结果</h1>
            {{path}}        
    </body>

4. 关于list参数的遍历读取方法

danCode = 是一个多重list,具体几重,我已经忘记了

            {% for i in danCode %}
            <table border="3">
                {% for j in i %}
                    {% for k in j %}
                    <tr><td>{{k}}</td></tr>
                    {% endfor %}

                {% endfor %}
            </table>
            {% endfor %}

照搬别人的轮子,不一定能用,所以
“授之以鱼,不如授之以渔”

猜你喜欢

转载自blog.csdn.net/Inuyasha_1314/article/details/80514080