我正在使用django-webtest为我的应用程序创建自动化功能测试。
由于我在一个网页上有多个表单,我目前正在使用硬编码索引来选择感兴趣的表单。例如:
# Forms on this page are: forms[0] = Establishment form,
# forms[1]= School Form
school_form = school_page.forms[1]
school_form['phone'] = self.school_phone_number
school_form.submit(value='Submit')
我想使用表单id而不是硬编码索引来选择感兴趣的表单,以便代码可维护。但是当我在代码中打印school_form.id时,值为None。
模板是:
<form action="" method="post" >
{% csrf_token %}
<p>
{{ establishment_form|crispy }}
<br><br>
{{ school_form|crispy }}
</p>
<button type="submit" class="btn btn-lg btn-primary">Submit</button>
我无法在Django文档中找到如何将表单ID(而不是表单字段ID)分配给ModelForm。有人可以帮我这个吗?
我使用的是Django 1.7,django-webtest 1.7.8,WebTest 2.0.18和django-crispy-forms 1.4.0。
答案 0 :(得分:2)
Django表单不负责输出表单元素本身。因此,在表单声明级别没有任何事情要做。
您始终可以从视图中传递属性并在模板中使用它:
<form id="{{ form_id_from_view }}" action="." method="POST">
答案 1 :(得分:0)
您可以直接将id
分配给模板中的表单元素。
<form id="my_id" name="some_name" action="/my/url/" method="POST">