2011-01-20 100 views
0

是否有一種「方便」的方式將通用動態創建的對象從一個視圖作爲參數傳遞給另一個視圖?據我可以從文檔中知道,只有字符串可以傳遞。Django:將對象作爲參數傳遞給視圖

我想兩項工作變通的:

  1. 基礎上的模型對象,保存模型,並通過唯一的ID型(這是一個字符串)到下一個視圖。這個視圖可以再次加載對象。
  2. Serializing該對象,並將序列化的對象(現在是一個字符串)傳遞到下一個視圖。這個視圖然後可以反序列化對象。

也許我想念什麼?或者,如果沒有,是否有人對變通辦法有意見?

回答

1

不是以字符串的形式將它傳遞給視圖,而是可以將它保存在第一個視圖中的會話中,然後從第二個視圖中將其保存在會話中。會話應該能夠接受您的原始對象,但可能需要先顯式序列化它。

0

據我所知,您可以將django模型實例傳遞給另一個視圖。 Python將允許你將任何對象實例作爲參數。視圖當然不限於字符串(你可以絕對地傳入整數,元組,列表,字典等......)當你嘗試這樣做時,你是否遇到了特定的錯誤?

+0

恐怕我的web開發/ django技能很差...我到目前爲止所做的是我返回HttpResponseRedirect('/ edituser /%s'%username)。然後通過url中的模式匹配,我提取我在下一個視圖中作爲關鍵字參數使用的用戶名。不太確定如何從另一個直接調用視圖... – Isaac 2011-01-20 15:37:54