如何将表单 ID 分配给 Django ModelForm?
How to assign form id to Django ModelForm?
我正在使用 django-webtest 为我的应用程序创建自动化功能测试。
由于我在单个网页上有多个表单,因此我目前正在使用硬编码索引来 select 感兴趣的表单。例如:
# 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 而不是硬编码索引来 select 感兴趣的表单,以便代码可维护。但是当我在代码中打印 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。
Django 表单不负责输出表单元素本身。所以在表单声明级别没有什么可做的。
您始终可以从视图传递属性并在您的模板中使用它:
<form id="{{ form_id_from_view }}" action="." method="POST">
您可以直接将 id
分配给模板中的表单元素。
<form id="my_id" name="some_name" action="/my/url/" method="POST">
我正在使用 django-webtest 为我的应用程序创建自动化功能测试。
由于我在单个网页上有多个表单,因此我目前正在使用硬编码索引来 select 感兴趣的表单。例如:
# 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 而不是硬编码索引来 select 感兴趣的表单,以便代码可维护。但是当我在代码中打印 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。
Django 表单不负责输出表单元素本身。所以在表单声明级别没有什么可做的。
您始终可以从视图传递属性并在您的模板中使用它:
<form id="{{ form_id_from_view }}" action="." method="POST">
您可以直接将 id
分配给模板中的表单元素。
<form id="my_id" name="some_name" action="/my/url/" method="POST">