2011-01-20 103 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