Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/21.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/jquery-ui/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Django:将数据对象从视图传递到模板再传递到视图的正确方法?_Django_Data Objects - Fatal编程技术网

Django:将数据对象从视图传递到模板再传递到视图的正确方法?

Django:将数据对象从视图传递到模板再传递到视图的正确方法?,django,data-objects,Django,Data Objects,用户可以从模板上传一个csv文件,该文件在 def parseCSV(request): magic happens here (conforming date formats and all such fun things) return column names to template 此视图返回列列表,并要求用户选择要保存的x列。 用户选择已发布到 def saveCSV(request): logic for saving 现在我的问题是,如何最正确地处理视图1和视图2之

用户可以从模板上传一个csv文件,该文件在

def parseCSV(request):
  magic happens here (conforming date formats and all such fun things)
  return column names to template
此视图返回列列表,并要求用户选择要保存的x列。 用户选择已发布到

def saveCSV(request):
  logic for saving

现在我的问题是,如何最正确地处理视图1和视图2之间的csv数据对象?我是将其保存为临时文件还是将其作为数据对象来回发送到view1->template->view2?或者第三个?

我想在前端解析CSV文件,并给用户一个选择列的选项。选择列后,我会将这些列连同值一起发送到后端。

没有“正确”的方法,因为这取决于具体情况。在这种情况下,它取决于CSV文件中数据的大小。鉴于数据相当大,最好的方法是将解析后的数据存储在服务器上,然后在下一个请求中只发送用户选择的完整数据集

我建议您解析数据并将其作为JSON blob存储在数据库中,这样您就可以轻松地为下一个请求检索数据。通过这种方式,您可以发送用户选择的行和列(或“坐标”),然后将其保存为真实数据。立即存储它的好处是,即使在离开流之后,用户也可以返回流程。不过,缺点是,如果用户从未完成此过程,您会保存未使用的数据,您可能需要稍后清除此项。如果将其存储在只包含临时数据的表中,则应该可以简化清理过程