gpt4 book ai didi

django - 由于 CSRF,无法将 jQuery $.post 数据发送到 django 中的 View

转载 作者:行者123 更新时间:2023-12-04 04:46:31 24 4
gpt4 key购买 nike

在发布之前,我已经尝试了在线发布的所有解决方案方法,包括 Stackoverflow 和 Django 上的解决方案。 (我认为错误的原因可能是因为我使用的是较新版本的 jQuery 和 django,并且大多数解决方案都过时了,使用 jQuery 1.9 和 django 1.5.1)

以下是一些无效解决方案的 URL:

Django CSRF check failing with an Ajax POST request

How to use $.post with django?

https://docs.djangoproject.com/en/dev/ref/contrib/csrf/#ajax

任何帮助将不胜感激。另一种错误的可能性是我实际上不确定将这些片段准确放置在哪里。到目前为止,我已经在文档加载时将所有内容粘贴到 jquery 中,我还尝试在 .js 文件的最开始粘贴代码。 (我的 javascript 代码被分割成块,有些是单独的 .js 文件,有些与 django 上下文呈现的 html 内联,因此任何带有“{{ csrftoken }}”的解决方案都是不好的。

谢谢!!

最佳答案

CSRF token 仅在模板中存在或 View 使用 ensure_csrf_cookie() 装饰时才会被设置。 .推杆 {% csrf_token %}index.html将使其适用于您的所有页面。

来自 docs :

The CSRF token is also present in the DOM, but only if explicitly included using csrf_token in a template.



...

If your view is not rendering a template containing the csrf_token template tag, Django might not set the CSRF token cookie. This is common in cases where forms are dynamically added to the page. To address this case, Django provides a view decorator which forces setting of the cookie: ensure_csrf_cookie().

关于django - 由于 CSRF,无法将 jQuery $.post 数据发送到 django 中的 View ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18094462/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com