我正在为Django中的一些表单编写一些测试。这些表单经常更改,所以我尽量避免将表单参数硬编码到我的测试中,因为每次表单更改时,我都必须修改测试。我有相当多这种性质的形式。我主要是测试信息是否正确地存储在正确的表中,而不是真正关心每个表单域。
使用Django TestClient,有没有一种方法可以获取带有表单的页面,然后用默认的表单字段值将其发送回来?
我已经用谷歌搜索过了,但都无济于事。
能帮到你们吗?谢谢。
发布于 2011-09-19 01:34:58
我以前也做过这样的事情,不幸的是没有简单的方法去做。我能想到的最好方法就是呈现表单,然后用BeautifulSoup解析结果,以获得输入和选择的所有值。类似于:
from BeautifulSoup import BeautifulSoup
myform = MyForm()
rendered_form = myform.as_p()
soup = BeautifulSoup(rendered_form)
values = {}
for input in soup.findAll('input'):
value = input.get('value')
if value:
values[input['name']] = value
for select in soup.findAll('select'):
selected = select.find(selected='selected')
if selected:
values[select['name']] = selected['value']https://stackoverflow.com/questions/7462544
复制相似问题