`
edwin492
  • 浏览: 115630 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

Django1.4 CSRF verification failed. Request aborted.

阅读更多

错误信息:
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.
初学django还有许多不解,上面的错误信息对问题已有所说明。
1. 表单Form中加入{% csrf_token %}
2. settings.py中MIDDLEWARE_CLASSES中加入’django.middleware.csrf.CsrfViewMiddleware’,网上有得说还要加入’django.middleware.csrf.CsrfResponseMiddleware’,但再1.4中没找到这个模块,不知道是不是有所改变。
3. view中加入 RequestContext

def login_view(request):
username = request.POST.get(‘username’, ”);
password = request.POST.get(‘password’, ”);
user = auth.authenticate(username=username, password=password)
if user is not None and user.is_active:
auth.login(request, user)
return HttpResponseRedirect(‘/home/’)
else:
return render_to_response(‘login.html’, context_instance=RequestContext(request))

网上还说需要在view中的方法上面加上@csrf_protect注解,但我没加也成功了。

https://blog-website.rhcloud.com/blog/?p=76

分享到:
评论
2 楼 edwin492 2012-08-02  
XIAOLINJAVA 写道
同样的问题,求解

就上面的三点,在请求form页面时注意context_instance=RequestContext(request)
1 楼 XIAOLINJAVA 2012-08-02  
同样的问题,求解

相关推荐

    Django-1.4.tar.gz

    《Django 1.4:Python Web开发的强大框架》 Django 1.4是Python Web开发领域的一个重要里程碑,它以其高效、易用和功能强大而受到开发者们的广泛赞誉。这个名为"Django-1.4.tar.gz"的压缩包文件,正是Django 1.4...

    django中CSRF的问题及解决

    - **解决方案**:更新`settings.py`中的`MIDDLEWARE_CLASSES`列表,用`'django.middleware.csrf.CsrfViewMiddleware'`替换旧的中间件名称,并在模板中的表单内加入`{% csrf_token %}`标签。 ```python ...

    对Django 中request.get和request.post的区别详解

    Django 中request.get和request.post的区别 POST和GET差异: POST和GET是HTTP协议定义的与服务器交互的方法。GET一般用于获取/查询资源信息,而POST一般用于更新资源信息。另外,还有PUT和DELETE方法。 POST和GET都...

    Django-1.2.5.tar.gz

    - 安全性:Django 1.2.5提供了一套全面的安全机制,包括CSRF(跨站请求伪造)保护、XSS(跨站脚本)过滤和SQL注入防护。 - ORM(对象关系映射):Django的ORM允许开发者使用Python代码来操作数据库,无需编写SQL语句...

    基于Django设计实现的blog.zip

    基于Django设计实现的blog.zip基于Django设计实现的blog.zip基于Django设计实现的blog.zip基于Django设计实现的blog.zip基于Django设计实现的blog.zip基于Django设计实现的blog.zip基于Django设计实现的blog.zip基于...

    Python基于Django框架网站设计源码.zip

    Python基于Django框架网站设计源码.zipPython基于Django框架网站设计源码.zipPython基于Django框架网站设计源码.zipPython基于Django框架网站设计源码.zipPython基于Django框架网站设计源码.zipPython基于Django框架...

    python基于Django的博客系统源码.zip

    python基于Django的博客系统源码.zippython基于Django的博客系统源码.zippython基于Django的博客系统源码.zippython基于Django的博客系统源码.zippython基于Django的博客系统源码.zippython基于Django的博客系统源码...

    DJANGOPOST提交问题解决2.pdf

    在使用Django框架开发Web应用时,可能会遇到一个常见的问题,即在尝试通过POST方法提交表单时,收到“Forbidden (403) CSRF verification failed. Request aborted.”的错误。这个错误是由于Django的跨站请求伪造...

    Django-3.0.3.tar.gz

    Django-3.0.3.tar.gz 安装包 解压后按下面方法安装 Windows环境:  安装whl包:pip install wheel -> pip install **.whl  安装tar.gz包:cd到解压后路径,python setup.py install Linux环境:  ...

    解决django前后端分离csrf验证的问题

    from django.views.decorators.csrf import ensure_csrf_cookie @ensure_csrf_cookie def render_template(request): # 渲染模板并返回给前端 return render(request, 'template.html') ``` ### 第二种方式:...

    详解利用django中间件django.middleware.csrf.CsrfViewMiddleware防止csrf攻击

    Django框架提供了一个内置的中间件`django.middleware.csrf.CsrfViewMiddleware`来帮助开发者防范这种攻击。 **一、Django后台处理** 1. **启用CSRF保护中间件**: 在Django项目的`settings.py`文件中,你需要...

    Python库 | django-markup-1.4.tar.gz

    资源分类:Python库 所属语言:Python 资源全名:django-markup-1.4.tar.gz 资源来源:官方 安装方法:https://lanzao.blog.csdn.net/article/details/101784059

    Python库 | django-gipsy-1.4.tar.gz

    资源分类:Python库 所属语言:Python 资源全名:django-gipsy-1.4.tar.gz 资源来源:官方 安装方法:https://lanzao.blog.csdn.net/article/details/101784059

    Python库 | django-todo-1.4.tar.gz

    资源分类:Python库 所属语言:Python 资源全名:django-todo-1.4.tar.gz 资源来源:官方 安装方法:https://lanzao.blog.csdn.net/article/details/101784059

    一个基于Python的Django的疫情管理系统.zip

    一个基于Python的Django的疫情管理系统.zip一个基于Python的Django的疫情管理系统.zip一个基于Python的Django的疫情管理系统.zip一个基于Python的Django的疫情管理系统.zip一个基于Python的Django的疫情管理系统.zip...

    Django 1.4 rc2

    **Django 1.4 RC2 知识点详解** Django 1.4 RC2(Release Candidate 2)是Django Web框架的一个重要版本,发布于2012年3月14日。这个版本标志着Django 1.4正式版发布前的最后测试阶段,意味着大部分功能已经稳定,...

    基于Django的视频网站.zip基于Django的视频网站.zip基于Django的视频网站.zip基于Django的视频网站

    基于Django的视频网站.zip基于Django的视频网站.zip基于Django的视频网站.zip基于Django的视频网站.zip基于Django的视频网站.zip基于Django的视频网站.zip基于Django的视频网站.zip基于Django的视频网站.zip基于...

    Python库 | django_mmc-1.4-py2.py3-none-any.whl

    资源分类:Python库 所属语言:Python 资源全名:django_mmc-1.4-py2.py3-none-any.whl 资源来源:官方 安装方法:https://lanzao.blog.csdn.net/article/details/101784059

    django1.4官方离线文档 html

    Django 1.4是Django Web框架的一个旧版本,但它在当时引入了许多重要的功能和改进,对于学习Django的历史和理解其发展过程至关重要。这个"django1.4官方离线文档 html"提供了完整的HTML格式的Django 1.4官方文档,...

    门户网站制作django1.4

    【标题】:“门户网站制作django1.4” 在IT领域,门户制作是一项复杂而重要的任务,尤其是在使用Python的Django 1.4框架时。Django是著名的Web开发框架,以其MVC(Model-View-Controller)设计模式和“ Batteries ...

Global site tag (gtag.js) - Google Analytics