我想确保我的访问者(未经过身份验证的用户)无法直接访问“之前的视图”而无法访问特定视图。我有点不得不手动创建表单预览和确认状态。这是提交和预览之间的步骤,预览和确认我想“安全”。
表单提交视图 - >预览视图 - >确认视图。
是否有某种方法可以创建一个唯一的哈希,POST它,并检查它是否正确,或者有点生成cookie,会话 - 或其他任何感觉聪明的东西?
我是Django的初学者(一般的编程初学者)和任何片段'或指向我正确的方向将非常感激!
感谢。
答案 0 :(得分:0)
我能想到至少有两种方法可以实现这一点:
一种方法是在表单中包含一个隐藏字段或查询字符串值,其中包含您希望在下一个视图中选取的哈希/唯一值。如果它不存在或不正确,则重定向。
另一个是检查来自request.META的引用网址,看看它们是否来自您希望它们首先进入的视图,并从表单提交中保存会话值以继续执行其余的观点。如果它不在那里,重定向。如果引用网址不符合您的预期,请重定向。
无论您使用cookie,会话,查询字符串参数还是隐藏的表单帖子,它都在做同样的事情 - 验证存在的值。无论哪种方法最有效,最适合您作为开发人员和最有可能的应用程序维护者。