Nac*_*uel 2 python django file
我让用户上传一个 txt 文件然后提交它,这样我就可以在我的一个视图中对该文件做一些工作。
我遇到了一些问题,但在社区的帮助下,现在至少可以识别我表单中的 POST 方法。
发生的事情是我的观点无法读取文件。这是我调试我的观点:
如您所见, do_some_work 方法检查 POST 方法,如果是请求附带的文件,则为 TXT 文件,然后拆分该文件中的行。
嗯,这是行不通的。当我到达那条线时,我得到:
'InMemoryUploadedFile' object has no attribute 'split'
Run Code Online (Sandbox Code Playgroud)
所以我不知道有什么问题。
这是我的表格:
<form action="{% url "do_some_work" %}" method="POST" enctype="multipart/form-data">
{% csrf_token %}
<div class="form-group">
<label for="exampleInputFile">File input</label>
<input type="file" id="exampleInputFile" name="some_file">
</div>
<button type="submit" class="btn btn-default">Submit</button>
</form>
Run Code Online (Sandbox Code Playgroud)
我将不胜感激。如果您需要更多信息,请告诉我谢谢。
您正在尝试拆分文件对象。您只能拆分文件的内容。与普通字符串相比,文件对象具有不同的方式来读取和操作其内容。
该InMemoryUploadedFile充当Python的代理file对象。要获取单个行的列表,您可以使用以下readlines()方法:
lines = data.readlines()
Run Code Online (Sandbox Code Playgroud)
如果您只需要遍历各个行,则可以遍历文件对象本身:
for line in data:
# do something with line
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
10375 次 |
| 最近记录: |