【发布时间】:2014-07-18 15:18:43
【问题描述】:
def createlist(request):
if request.method == 'POST':
files = request.FILES['ListFile']
print(type(files))
csv_file = csv.DictReader(files)
for i in csv_file:
print(i)
return HttpResponse("ok")
这给了
类'django.core.files.uploadedfile.InMemoryUploadedFile'
_csv.Error:迭代器应该返回字符串,而不是字节(您是否以文本模式打开文件?)
在这里,我使用 ajax
发布此文件
js:
$('#form1').ajaxForm(function(data) {
alert(data) ;
});
【问题讨论】:
-
print([type(x) for x in files.readlines()])带给你什么? -
@dilbert [
, , -
叮,叮,叮,我们赢了!!
-
@dilbert 任何将文件读取为 dictreader 以获取字典的解决方案
-
您需要 a) 将
request.FILES['ListFile']更改为非二进制读取模式或 b) 将所有request.FILES['ListFile']读取到中间文件类对象中。我会推荐一个)。
标签: javascript jquery python django python-3.x