python - 在django api中发布数据并且无法获取变量值

标签 python django

我创建了一个 api,我通过邮件发送请求,但在 View 中未获得可用

def login_list(request):
    if request.method == 'POST':
        data = json.dumps(request.POST)
        print(data)
        serializer = LoginSerializer(data=request.data)
        #print(serializer)
        return JsonResponse({"message":'fdsafdsa'}) 

当我打印数据时打印(数据)然后输出是这样的

{"{\"login\":122122,\"abvc\":\"544545\"}": ""}

我在 postman 中像这样调用这个API

Post http://localhost:8000/login/login/

{"login":122122,"abvc":"544545"}

我没有从中获得值(value)

打印(request.POST['登录']);

如何获得值(value)

最佳答案

尝试使用 request.data 而不是 request.POST。 JSON内容在body中发送,由Django Rest Framework在运行时解析。

login_variable = request.data['login']

并确保您已在 REST_FRAMEWORK 设置中添加“JSONParser”。

关于python - 在django api中发布数据并且无法获取变量值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43069378/

相关文章:

python - Scrapy + 飞溅 + ScrapyJS

python - 为什么我的字符串会删除多个字符?

Django Rest 更改 URL 中的主键以使用自定义键

python - Django 数据库未迁移

python - 打开pyxl。 Max_columns 给出错误

python - 根据条件将一列拆分为多列

python - 如何解决 AttributeError :'list' object has no attribute 'astype' ?

django - 初始化外键下拉菜单

python - Django 测试 commit_on_success

python - 在 Windows 上使用 cookiecutter 创建 Django 项目模板