Django的项目中,HTML页面中表单提交表单后出现403错误,且未获取到提交信息,

问题原因:

    Django的针对提交的请教,会进行校验校验

 

解决方案 1:

    导入模块

from django.views.decorators.csrf import csrf_exempt # 解决校验问题造成的403错误

    并在对应函数前面加上修饰器:

@csrf_exempt #修饰器解决403报错(Django自身数据校验)
def login(request):#登陆界面打开
    error_msg = ""
    if request.method == "POST":
        print(request.POST["email"])
        email = request.POST.get("email",None)
        pwd = request.POST.get("pwd",None)
        print(email,pwd)
        if email == "**********@qq.com" and pwd == "asdf":
            return HttpResponse("OK")
            #return redirect("https://www.baidu.com") # 回复一个特殊的响应,让浏览器请求指定URL,跳转网页
        else:
            error_msg = "邮箱或密码错误"
    return render(request,"login.html",{"error":error_msg})#render完成HTML界面替换

解决方案 2:

    在与项目同名文件夹中找到setting.py文件夹,在第47行附近注释掉如下一句话:

'django.middleware.csrf.CsrfViewMiddleware'

     效果如下:

MIDDLEWARE = [
    'django.middleware.security.SecurityMiddleware',
    'django.contrib.sessions.middleware.SessionMiddleware',
    'django.middleware.common.CommonMiddleware',
    #'django.middleware.csrf.CsrfViewMiddleware',
    'django.contrib.auth.middleware.AuthenticationMiddleware',
    'django.contrib.messages.middleware.MessageMiddleware',
    'django.middleware.clickjacking.XFrameOptionsMiddleware',
]

Django项目 403错误解决