django - 如何将数据发布到包含复选框的 Django 表单
问题描述
我在 Django 中测试我的注册表单时遇到问题。我正在尝试发出 POST 请求,但无法选择复选框字段。
self.response = self.client.post(url, {
'username': 'testuser',
'password': 'testuserpassword',
'first_name': 'testtt',
'last_name': 'userrr',
'image': '',
'email': 'testuser@gmail.com',
'gender': 'M',
'dob': '10/10/1996',
'hobby': 'Fishing'
})
这是我的代码行。问题出在爱好上。注册页面由两种形式组成。个人资料表格和爱好表格。Profile 和 Hobby 模型之间存在多对多的关系。
当我发出上述 POST 请求时,我得到了这个(选择一个有效的选择):
先感谢您!
解决方案
根据您发布的屏幕截图,每个爱好复选框的值对应于一个整数 - 1、2、3、4 等。这意味着后端期望以表格形式传输爱好 ID。但是,测试不是发送爱好 ID,而是发送名称。
将名称更改为相应的 ID - 例如
self.response = self.client.post(url, {
...
'hobby': 1 # Fishing
})
推荐阅读
- java - 将高级数学“包括根”字符串转换为由 Java 中的 ScriptEngine 库执行的代码
- java - 项目名称在自定义模组中未正确显示
- mapbox - 如何将 Mapbox 弹出窗口拆分为单独的框
- windows - Postgres 安装失败
- excel-formula - How to match same values in three columns and display a value of 3rd column into new column using Excel?
- swift - 在饼图外显示值
- html - Twitter-Card 元标签问题
- ta-lib - 在 Mac 上的 python 3.7 中安装 ta-lib 时遇到问题
- mapbox - 计算地图面积并动态设置缩放级别
- python - 如何将 JSON 数据转换为指定的 Pandas DataFrame