提交评分时,agon-ratings插件中出现403 FORBIDDEN
错误。
我看过doc。但是csrf标记存在于标题中:
Request Headersview source
Accept */*
Accept-Encoding gzip, deflate
Accept-Language en-US,en;q=0.5
Cache-Control no-cache
Connection keep-alive
Content-Length 22
Content-Type application/x-www-form-urlencoded; charset=UTF-8
Cookie csrftoken=6C7zHmrBufWbiYeTXwRkCWC9hDfdxGoW; sessionid=4d6b6977721fcb97f6903d0aaab5e632
Host localhost:8000
Pragma no-cache
Referer http://localhost:8000/news/40/asdas/
User-Agent Mozilla/5.0 (Macintosh; Intel Mac OS X 10.8; rv:23.0) Gecko/20100101 Firefox/23.0
X-Requested-With XMLHttpRequest
对此问题的任何帮助将不胜感激。 提前致谢
答案 0 :(得分:1)
我猜你是通过ajax请求发帖子的,如果这比你需要发送csrf令牌作为POST数据的一部分或通过X-CSRFToken标题更正。
我在你发布的请求标题中没有看到任何内容。
你链接的Django文档有一个关于如何做到这一点的工作示例(如果你使用jQuery,它主要是一个复制和粘贴工作)
答案 1 :(得分:0)
您正在使用POST方法。使用POST方法,您需要在表单元素内的HTML中编写{%csrf_token%}或在ajax请求中传递csrftoken,即https://docs.djangoproject.com/en/dev/ref/contrib/csrf/。
在django设置中编写CSRFMiddleware和csrf上下文处理器时必须使用。