如何 POST 数据到包含复选框的 Django 表单

How to POST data to a Django Form that contains checkboxes

我在 Django 中测试注册表单时遇到问题。我正在尝试发出 POST 请求,但我无法 select 复选框字段。

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 请求时,我得到了这个(Select 一个有效的选择):

提前致谢!

根据您发布的屏幕截图,每个爱好复选框的值对应于一个整数 - 1、2、3、4 等。这意味着后端希望将爱好 ID 传输到表格。但是,测试不是发送爱好 ID,而是发送名称。

将名称更改为相应的 ID - 例如

self.response = self.client.post(url, {
        ...
        'hobby': 1  # Fishing
    })