我是 django 的新手,在我的第一个应用程序中,
我想上传一个行数未知的 csv 文件,解析它的内容并显示解析的数据,而不是操纵这些数据并将其保存在表格中。
实现这一目标的最佳方法是什么?
目前我有一个用于上传文件的视图和表单,
我的第一次尝试是在该视图中解析上传的文件并将解析后的数据发送到第二个视图:
def UploadFileView(request):
if request.method == 'POST':
form = UploadFileForm(request.POST, request.FILES)
if form.is_valid():
upload_list = handle_uploaded_file(request.FILES['file'])
return HttpResponseRedirect(reverse('preview_file', ?????))
else:
form = UploadFileForm()
return render(request, 'upload_file.html', {'form': form,})
upload_list - 描述文件中一行的对象列表。
???- 为了将列表发送到第二个视图,放在这里什么?
我知道我需要以某种方式序列化此列表,以便能够将其发送到第二个视图,即preview_file。
- 我如何序列化它?使其成为 JSON 字符串?
- 如何将此序列化数据发送到第二个视图?
csv 文件的行数未知,可以是 3、10 或 500。
在发布这个问题时,我想到了另一个选项,并想知道它是否可能以及它是否是一个更好的选择:
不要在第一个视图中解析文件,而是将其发送到第二个视图并在该视图中调用handle_uploaded_file。