我開始在Python中使用Jinja模板來開發Web應用程序。通過Jinja,我可以將我的Python代碼中的對象發送到我的index.html,但是是否可以從我的index.html接收對象到我的Python代碼?例如,來回傳遞一個列表。如果是這樣,你有什麼例子嗎?從Jinja模板發送對象到Python
謝謝!
我開始在Python中使用Jinja模板來開發Web應用程序。通過Jinja,我可以將我的Python代碼中的對象發送到我的index.html,但是是否可以從我的index.html接收對象到我的Python代碼?例如,來回傳遞一個列表。如果是這樣,你有什麼例子嗎?從Jinja模板發送對象到Python
謝謝!
爲什麼這樣做?您在模板中實現的任何邏輯都可以在您的應用程序的控制器中訪問,包括您放置在模板上下文中的任何變量。
如果數據因與用戶交互而發生變化,那麼在我看來,檢索數據的最佳方法是設置表單並使用普通的POST方法發送請求和所需的數據,正確編碼和轉義,回到您的程序。通過這種方式,您可以免受XSS問題以及其他不便之處。我絕不會在模板中進行任何處理,只能使用任何本地邏輯來修改演示文稿本身。
編輯考慮到你的情況,我建議如下:
如果你不希望中間緩存鍵值對的步驟,您可能希望將整個列表編碼到GET URL中,清潔和驗證的步驟應該像整個列表的關鍵一樣簡單。這兩種方法避免了往返數據庫,保護您免受惡意使用,並尊重數據,表示和邏輯的分離。
嗨, 我的應用程序是這樣的: 1)用戶按下一個頁面上的按鈕,並調用獲取處理 2)獲取處理程序查詢數據庫和接收圖像 3)圖像的名單列表傳入模板引擎進行顯示 4)按下另一個按鈕並調用不同的Get處理程序 5)問題 - >我想要同一列圖像進行操作,但不想浪費時間再次查詢數據庫。我可以將圖像列表聲明爲全局圖像,但我希望避免使用全局圖像,並且在再次調用GET命令時寧願接收圖像列表。 謝謝 – swoosh
@swoosh:你所描述的不是web應用程序和Internet如何工作,對不起。考慮讓多個用戶同時請求這個頁面,你會發現你用全局變量的方法是行不通的。 – Sergey
這應該解決我的問題,我會檢查Memcache,感謝您的幫助,我很感激! – swoosh
您可以使用AJAX或提交的HTML表單發送值。 – geoffspear