【问题标题】:Testing formsets in Django在 Django 中测试表单集
【发布时间】:2015-10-23 09:14:32
【问题描述】:

如何使用客户端self.client.post('/url/', {}) 在单元测试中传递表单集的值?我收到一个验证错误,提示 management_form 已被篡改。

提前致谢!

【问题讨论】:

标签: django forms unit-testing formsets


【解决方案1】:

这是一个获取用户技能的示例表单集

class SkillForm(forms.Form):
    level_id = forms.ChoiceField(choices=LEVEL_CHOICES, required = True)
    txt_skills = forms.CharField(max_length=250, required = True)

SkillFormset = formset_factory(SkillForm,extra=1, max_num=10)

这是测试用例的示例 POST 数据。

self.post_data.update({
        'skillform-0-level_id': '2',
        'skillform-0-txt_skills': 'Python',
        'skillform-1-level_id': '3',
        'skillform-1-txt_skills': 'Java',
        'skillform-TOTAL_FORMS': '2',
        'skillform-INITIAL_FORMS': '1',
        'skillform-MAX_NUM_FORMS': '10'
        })

【讨论】:

    猜你喜欢
    • 2012-03-20
    • 2018-02-09
    • 2013-05-08
    • 2020-03-04
    • 1970-01-01
    • 1970-01-01
    • 2013-11-26
    • 2019-06-20
    • 2018-11-10
    相关资源
    最近更新 更多