我在 Windows 7 上通过带有 mod_wsgi 的 Apache2 运行了睡衣和 Django。不过,我不相信我会从这些东西的设置中遇到问题:唯一不起作用的是尝试从睡衣生成的 POST 信息形式。尝试在我的应用程序中使用 Pyjamas 生成的表单会产生 403(“CSRF 验证失败”错误页面)。
我在这上面花了几个小时,阅读了我在这里能找到的与 CSRF 和 Pyjamas 相关的所有答案,并在 CSRF 和 Django、Django 和 Ajax 等方面做了很多外部研究。如果这个问题没有达到任何人谁知道在这种情况下该怎么做,我想我已经削弱了问题的本质。
如何{% csrf_token %}
进入 Pyjamas 生成的表单?这似乎是不可能的,因为据我了解,CSRF 令牌不是持久的,睡衣生成的页面是……我的睡衣页面是从睡衣.py
文件生成的,导致文件夹中充满了硬编码的东西。我如何将当前的 CSRF 令牌集成到已经编码的形式中?
请不要犹豫,询问更多细节,这个问题非常难以解决。关于整合睡衣和 Django 的已发布信息都没有考虑到这一点;并且我发现的唯一解决方案似乎知道 Django 中的 CSRF 说你可能应该禁用 CSRF 保护(我可以这样做,但我可以用什么保护来代替它?我自己的 cookie 系统?这是一个糟糕的主意在任何情况下都禁用 CSRF 保护?)。
谢谢!