用于导入详细信息的Django读取文件

2024-05-21 05:16:07 发布

您现在位置:Python中文网/ 问答频道 /正文

为此,我使用了django-adaptops。我已经实现了文档中显示的机制。我需要知道如何使用浏览器来实现这一点,例如-我有一个模板,用户可以选择csv文件,一旦我点击导入按钮,我就可以调用我的视图,但在这里我无法读取文件上传到我的模型。我该怎么做。在

这是我的模板代码。在

 <form action="/manage/dashboard/importProspects" method="post" class="form-horizontal"
                      enctype="multipart/form-data"> {% csrf_token %}

                    <div class="row-fluid" style="margin-top: 5%">
                        <div class="span6">
                            <div class="control-group">
                                <p>{{ csvform.fname.label_tag }} {{ csvform.fname }} {{ csvform.fname.url }}</p>
                            </div>
                        </div>


                        <button type="submit" class="btn btn-small btn-success " style="margin-left:10px; ">
                            Import from CSV
                        </button>
                    </div>
       </form>

csvForm是加载此模板时传递的表单对象。在

表格代码如下:

^{pr2}$

并且/manage/dashboard/importProspectsurl将调用我的视图importcsv,它现在不执行任何操作。在

如何处理这个问题,以便我可以读取csv文件,但我无法获得csv文件路径。还是我错过了什么?请帮忙。在


Tags: 文件csv代码margindivform视图模板
1条回答
网友
1楼 · 发布于 2024-05-21 05:16:07

跟着这个

在模板中:

<form action="/manage/dashboard/importProspects" method="post" class="form-horizontal"
                      enctype="multipart/form-data"> {% csrf_token %}

                    <div class="row-fluid" style="margin-top: 5%">
                        <div class="span6">
                            <div class="control-group">
                                <p>
                                    <input type="file" name="csvfile" />
                                </p>
                            </div>
                        </div>


                        <input type="submit" class="btn btn-small btn-success " style="margin-left:10px; " />

                    </div>
   </form>

在网址.py:

^{pr2}$

强视图.py文件:

def csvupload(request):
    if request.method == "POST":
       f = request.FILES['csvfile']
       with open("/tmp/csvfile.csv", 'wb+') as destination:
                for chunk in f.chunks():
                    destination.write(chunk)

然后用csvfile做你想要的……希望这对你有帮助。在

相关问题 更多 >