我正在创建一个应用程序,在那里用户可以添加评论到特定的地方。在
我正在创建一个系统,在这个系统中,每次提交的评审都会被举行,并且会向站点经理发送一封电子邮件,他们可以通过单击两个不同的链接来批准或拒绝评审。在
这些链接将被映射到一个特定的Django视图函数,该函数将接收被批准/拒绝的特定评审的id和一个访问令牌,以确保链接的真实性。在
无论我在哪里搜索,都只能找到登录用户的“Auth tokens”,这不是我在本例中想要的。在
我想到的一种方法是创建一个review和command id的散列值,在数据库中存储一个关于这个令牌是否被访问的字段。但这个解决方案似乎并不“干燥”。在
有没有办法生成这些代币?在
Django附带了一个功能,您可以使用它:
https://docs.djangoproject.com/en/1.9/topics/signing/
如果我正确地理解了您的用例,您可以使用对象id作为要签名的值,然后创建一个接受签名值作为参数的视图,它可以从中派生id,同时确保链接是真实的。在
例如
我确实同意评论人对你的问题,作为一个改变服务器上的数据的动作,这些应该是POST请求。模式与上面的相同,但是视图不是从url arg获取
signed
值,而是从request.POST
获取它。你甚至可以用表格。在显然,从电子邮件中发布帖子只有通过HTML电子邮件才有可能。要支持文本电子邮件,您应该链接到一个中间页面(传递签名值),该页面显示带有批准/拒绝按钮的表单,该页面应将签名值作为隐藏字段发布到如上所示的视图中。在
相关问题 更多 >
编程相关推荐