簡體   English   中英

Django:將數據對象從視圖傳遞到模板再到視圖的正確方法?

[英]Django: Correct way of passing data object from view to template to view?

從模板用戶可以上傳一個 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 存儲在數據庫中,以便您可以輕松地為下一個請求檢索它。 通過這種方式,您可以發送用戶對行和列(或“坐標”)的選擇,然后將其保存為真實數據。 立即存儲它的好處是用戶即使在離開流程后也可以返回到流程。 但是,缺點是您保存了未使用的數據,如果用戶從未完成該過程,並且您可能需要稍后清除它。 如果將其存儲在僅包含臨時數據的表中,則應該可以簡化清理過程。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM