gpt4 book ai didi

Python - Django - 'InMemoryUploadedFile' 对象没有属性 'split'

转载 作者:行者123 更新时间:2023-11-28 22:41:30 30 4
gpt4 key购买 nike

我让用户上传一个 txt 文件,然后提交它,这样我就可以在我的一个 View 中对该文件进行一些处理。

我遇到了一些问题,但在社区的帮助下,现在至少可以识别我表单中的 POST 方法。

发生的事情是我的 View 无法读取文件。这是我在调试我的 View :

enter image description here

如您所见,do_some_work 方法检查 POST 方法,如果它是随请求一起提供的文件,则该文件是 TXT 文件,然后拆分该文件中的行。

嗯,这是行不通的。当我到达那条线时,我得到:

'InMemoryUploadedFile' object has no attribute 'split'

所以我不知道哪里出了问题。

这是我的表格:

<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>

我将不胜感激任何帮助。如果您需要更多信息,请告诉我谢谢。

最佳答案

您正在尝试拆分文件对象。您只能拆分文件的内容。文件对象读取和操作其内容的方式与普通字符串不同。

InMemoryUploadedFile 充当 Python 的 file 对象的代理。要获取单行列表,您可以使用 readlines()方法:

lines = data.readlines()

如果您只需要遍历各个行,您可以遍历文件对象本身:

for line in data:
# do something with line

关于Python - Django - 'InMemoryUploadedFile' 对象没有属性 'split',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32563810/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com