You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何将Kivymd界面获取的邮箱地址存入Django模型?

KivyMD提交邮箱到Django DRF返回400错误

问题排查与修复步骤:

  1. Django模型字段定义错误
    你的模型代码里字段定义写错了,导入的是models,应该用models.EmailField()而非Model.EmailField(),同时建议不要用Model作为模型类名,避免和父类models.Model混淆:

    from django.db import models
    
    class UserModel(models.Model):
        user_mail = models.EmailField()
    
  2. KivyMD端POST请求语法错误
    提交请求的代码存在两处问题:

    • 语法错误:json('user_mail':'email')不是合法的Python语法,requests.post的json参数需要传入字典,且用关键字参数赋值
    • 变量传递错误:你传的是字符串'email',而不是获取到的邮箱变量email
      修正后的代码:
    def data(self): 
        email = self.screen.ids.email_id.text
        # 修正请求参数格式与变量传递
        response = requests.post(url, json={'user_mail': email})
        # 打印响应内容查看具体错误详情
        print(response.json())
    
  3. URL路径异常
    请求日志显示路径为/users//,存在多余的斜杠,检查url变量的拼接逻辑,确保路径符合DRF的路由配置(比如应为/users/或/users)。

另外,400错误属于客户端请求错误,打印response.json()能获取DRF返回的具体错误提示(比如邮箱格式不合法、字段名不匹配等),可以进一步定位问题。

内容的提问来源于stack exchange,提问作者Ysmaýl

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.15 15:47:35