python
来源:互联网 发布:java用for循环打印菱形 编辑:程序博客网 时间:2024/06/03 23:06
在django中利用comments功能,发生错误,错误信息如下:
务必将 Context修改为RequestContext,修改后为 c = RequestContext(request,{'posts':posts})
Forbidden (403)
CSRF verification failed. Request aborted.
Help
Reason given for failure:
CSRF token missing or incorrect.In general, this can occur when there is a genuine Cross Site Request Forgery, or when Django's CSRF mechanism has not been used correctly. For POST forms, you need to ensure:
- Your browser is accepting cookies.
- The view function uses RequestContext for the template, instead of Context.
- In the template, there is a {% csrf_token %} template tag inside each POST form that targets an internal URL.
- If you are not using CsrfViewMiddleware, then you must use csrf_protect on any views that use the csrf_token template tag, as well as those that accept the POST data.
You're seeing the help section of this page because you have DEBUG = True in your Django settings file. Change that to False, and only the initial error message will be displayed.
You can customize this page using the CSRF_FAILURE_VIEW setting.
解决方法:
1.其实也没有什么解决方法,其实在错误信息里边已经说了,“The view function uses RequestContext for the template, instead of Context”
通常情况下,我们在view里边通常是这么做:
点击(此处)折叠或打开
- def archive(request,text_id):
- all_posts = TextBody.objects.all()
- posts = all_posts.filter(id=text_id)
- t= loader.get_template('content.html')
- c = Context({'posts':posts})
- return HttpResponse( t.render(c) )
务必在文件头引入: from django.template import loader,Context,RequestContext
2.在Html模板中加入csrf标签:
原文:http://blog.chinaunix.net/uid-21222282-id-3244532.html
点击(此处)折叠或打开
- <table>
- <form action="{% comment_form_target %}" method="post">
- {% csrf_token %}
- {{ form }}
- <tr>
- <td colspan="2">
- <input type="submit" name="submit" value="Post">
- <input type="submit" name="preview" value="Preview">
- </td>
- </tr>
- </form>
- </table>
0 0
- Python
- Python
- Python
- python
- Python
- PYTHON
- Python
- Python
- Python
- Python
- Python
- Python
- Python
- Python
- Python
- Python
- python
- Python
- C# winform 窗口属性详解
- 2015阿里java研发实习电话面试回忆
- hdu1021
- freecms如何在信息列表类标签中提取info.content
- vc中调用Com组件的方法详解
- python
- Android自定义日志输出文件
- 3月14日
- http://blog.chinaunix.net/uid-21222282-id-3244532.html
- 【经验】- IOS开发学习提高方法论①
- 给喜欢计算机的学弟学妹们的12条建议
- android开发-2操作系统安装
- java多线程竞争
- 1042. Shuffling Machine (20)