如何将一些信息传递给视图而不将其包含在 URL 中(django 新手)
Posted
技术标签:
【中文标题】如何将一些信息传递给视图而不将其包含在 URL 中(django 新手)【英文标题】:How can I pass some information to a view without including it in the URL (django newbie) 【发布时间】:2010-10-06 16:39:57 【问题描述】:我正在开发一个小 django 应用程序,用于保留绘画版画。
客户进入此订购页面,填写一些信息(姓名、电子邮件、奉献精神等),选择他们想要保留的打印编号,然后单击订购。点击后,我的 django 代码将所有客户信息存储在一个新的 OrderInfo 对象中,它调用了一个 HttpResponseRedirect 到我的感谢页面。
我希望此感谢页面包含 OrderInfo 中包含的一些确认详细信息(例如,谢谢您,name,您的订单)。
我的第一个想法是在感谢 url 中包含 OrderInfo 的 ID,但这会让 任何人 访问 OrderInfo 以获取任何不适合隐私的 ID。
您可以在这里查看演示:link
提前致谢!
【问题讨论】:
【参考方案1】:首先,确保所有显示敏感信息的视图都具有 @login_required
装饰器,并检查 request.user
实际上是有权访问请求信息的视图。
现在,对于您的具体问题,您可以将OrderInfo
放入会话字典中。事实上,将整个对象复制到那里可能会很方便,而不仅仅是 ID。
另外,如果您想允许未登录的用户执行所有这些操作,您仍然必须以某种方式识别他们。同样,最明显的方法是大量使用会话来跟踪用户。
【讨论】:
以上是关于如何将一些信息传递给视图而不将其包含在 URL 中(django 新手)的主要内容,如果未能解决你的问题,请参考以下文章