错误信息:
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
分享到:
相关推荐
《Django 1.4:Python Web开发的强大框架》 Django 1.4是Python Web开发领域的一个重要里程碑,它以其高效、易用和功能强大而受到开发者们的广泛赞誉。这个名为"Django-1.4.tar.gz"的压缩包文件,正是Django 1.4...
- **解决方案**:更新`settings.py`中的`MIDDLEWARE_CLASSES`列表,用`'django.middleware.csrf.CsrfViewMiddleware'`替换旧的中间件名称,并在模板中的表单内加入`{% csrf_token %}`标签。 ```python ...
Django 中request.get和request.post的区别 POST和GET差异: POST和GET是HTTP协议定义的与服务器交互的方法。GET一般用于获取/查询资源信息,而POST一般用于更新资源信息。另外,还有PUT和DELETE方法。 POST和GET都...
- 安全性:Django 1.2.5提供了一套全面的安全机制,包括CSRF(跨站请求伪造)保护、XSS(跨站脚本)过滤和SQL注入防护。 - ORM(对象关系映射):Django的ORM允许开发者使用Python代码来操作数据库,无需编写SQL语句...
from django.views.decorators.csrf import ensure_csrf_cookie @ensure_csrf_cookie def render_template(request): # 渲染模板并返回给前端 return render(request, 'template.html') ``` ### 第二种方式:...
基于Django设计实现的blog.zip基于Django设计实现的blog.zip基于Django设计实现的blog.zip基于Django设计实现的blog.zip基于Django设计实现的blog.zip基于Django设计实现的blog.zip基于Django设计实现的blog.zip基于...
Python基于Django框架网站设计源码.zipPython基于Django框架网站设计源码.zipPython基于Django框架网站设计源码.zipPython基于Django框架网站设计源码.zipPython基于Django框架网站设计源码.zipPython基于Django框架...
python基于Django的博客系统源码.zippython基于Django的博客系统源码.zippython基于Django的博客系统源码.zippython基于Django的博客系统源码.zippython基于Django的博客系统源码.zippython基于Django的博客系统源码...
在使用Django框架开发Web应用时,可能会遇到一个常见的问题,即在尝试通过POST方法提交表单时,收到“Forbidden (403) CSRF verification failed. Request aborted.”的错误。这个错误是由于Django的跨站请求伪造...
Django-3.0.3.tar.gz 安装包 解压后按下面方法安装 Windows环境: 安装whl包:pip install wheel -> pip install **.whl 安装tar.gz包:cd到解压后路径,python setup.py install Linux环境: ...
Django框架提供了一个内置的中间件`django.middleware.csrf.CsrfViewMiddleware`来帮助开发者防范这种攻击。 **一、Django后台处理** 1. **启用CSRF保护中间件**: 在Django项目的`settings.py`文件中,你需要...
资源分类:Python库 所属语言:Python 资源全名:django-markup-1.4.tar.gz 资源来源:官方 安装方法:https://lanzao.blog.csdn.net/article/details/101784059
资源分类:Python库 所属语言:Python 资源全名:django-gipsy-1.4.tar.gz 资源来源:官方 安装方法:https://lanzao.blog.csdn.net/article/details/101784059
资源分类: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...
**Django 1.4 RC2 知识点详解** Django 1.4 RC2(Release Candidate 2)是Django Web框架的一个重要版本,发布于2012年3月14日。这个版本标志着Django 1.4正式版发布前的最后测试阶段,意味着大部分功能已经稳定,...
print(django.get_version()) ``` 至此,你已经成功安装了Django 2.2.6。现在,你可以开始创建项目和应用,利用Django的强大功能来构建Web应用。不过,记得定期更新Django以获取最新的安全补丁和功能改进,因为软件...
资源分类:Python库 所属语言:Python 资源全名:django_mmc-1.4-py2.py3-none-any.whl 资源来源:官方 安装方法:https://lanzao.blog.csdn.net/article/details/101784059
Django 1.4是Django Web框架的一个旧版本,但它在当时引入了许多重要的功能和改进,对于学习Django的历史和理解其发展过程至关重要。这个"django1.4官方离线文档 html"提供了完整的HTML格式的Django 1.4官方文档,...
【标题】:“门户网站制作django1.4” 在IT领域,门户制作是一项复杂而重要的任务,尤其是在使用Python的Django 1.4框架时。Django是著名的Web开发框架,以其MVC(Model-View-Controller)设计模式和“ Batteries ...