首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >禁止(403) CSRF验证失败。当我点击提交按钮时,请求中止

禁止(403) CSRF验证失败。当我点击提交按钮时,请求中止
EN

Stack Overflow用户
提问于 2015-05-19 18:02:15
回答 2查看 1.2K关注 0票数 0

我正在处理django身份验证请求,我得到了禁止的错误,我检查了我的代码,但似乎没有错误。

HTML

代码语言:javascript
复制
    <div class="grad"></div>
    <div class="header">
    <div>MLAT<span>SI</span></div>
    </div>
    <form action="{{views.login_user}}" method="POST">{% csrf_token %}
    <div class="login">
    <img src="{% static "img/Airplane.png" %}">
    <div id="h" class="home">
    <input type="text" placeholder="Login" name="username" value="">
    <input type="password" placeholder="Mot de passe" name="password" value="">
    <input style="float: left; width: 173px" type="submit" value="Log in" > 
    <input formaction="/form_registration.html/" style="float: right; width: 173px" type="submit" value="Register">

views.py

代码语言:javascript
复制
def login_user(request):
    username = request.POST.get("username")
    password = request.POST.get("password")
    user = authenticate(username=username, password=password)
    if user is not None and user.is_active:
        login(request, user)
        return HttpResponse("You're logged in.")
    else:
        return HttpResponse("Your username and password didn't match.")
EN

回答 2

Stack Overflow用户

发布于 2019-05-21 05:08:57

您似乎在导入包中遇到了问题。而且您调用视图的方式是不正确的,您应该仔细阅读Django文档

票数 2
EN

Stack Overflow用户

发布于 2015-05-20 01:00:20

看起来像Django - {% csrf_token %} was used in a template, but the context did not provide the value的副本

基本上,您的login_user视图没有使用任何呈现/上下文,因此出现了错误(我不知道这是否与调用登录url时调用的视图相同)。所以Django可以看到csrf_token,但永远不会将其转换为实际的tok值。

代码语言:javascript
复制
from django.shortcuts import render

但实际上,您的表单和视图看起来都非常错误。表单操作{{ views.login_user }}不正确。您不能以这种方式调用视图。然后你的注册按钮就会转到一个看起来像HTML的页面。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/30322490

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档