在 html 页面的 views.py 中使用 request.post.get() 方法时出现禁止的 403 CSRF 错误

Forbidden 403 CSRF error when using request.post.get() method in views.py from html page

这是views.py代码

from django.shortcuts import render
from django.http import HttpResponse
from django.http import HttpRequest
from django.db import models
from datetime import datetime
# Create your views here.

def postdata(request):
    if request.method == "POST":
        data=request.POST.get('data')
return HttpResponse(data)`

这是html代码

<form action="http://127.0.0.1:8000/minor/postdata/" method="POST">
data:<br>
  <input type="text" name="data"><br>


<input type="submit" value="Submit">

</form>

我无法从简单的 html 页面找到 post 数据请求的解决方案 我可以获得适用于 GET 请求的代码。 我需要从 android app

连接这个服务器

这是因为您没有在 post 请求中发送 csrf_token。出于安全原因,django 检查所有 POST 请求中的 csrf_tokens。

您可以使用 csrf_token 模板标签在模板中添加 csrf_token,如下所示:

<form action="http://127.0.0.1:8000/minor/postdata/" method="POST">
{% csrf_token %}

阅读:How to use CSRF token in Django