我正在尝试为Django视图编写单元测试,该视图涉及提交一个表单(由其他人编写),如下所示:
<form method="post" action="/oauth2/token" class="authenticate">
<input type="hidden" name="grant_type" value="authorization_code">
<input type="hidden" name="code" value="73c2c13e4957331f4183bdfafd1f1c">
<input type="hidden" name="redirect_uri" value="http://127.0.0.1:8000/client/9e22123649f8cb8de8e85e70c64969/">
<input type="hidden" name="client_id" value="9e22123649f8cb8de8e85e70c64969">
<input type="submit" value="123456">
</form>
使用Django测试客户端时,我不确定如何提交与“submit”输入类型对应的值。特别是,应该取代下面的???
:
c = django.test.client.Client()
response = c.post('/oauth2/token', {"grant_type": "authorization_code",
"code": code,
"redirect_uri": "http://127.0.0.1:8000/client/9e22123649f8cb8de8e85e70c64969/",
"client_id": "9e22123649f8cb8de8e85e70c64969",
???: "123456"})
答案 0 :(得分:3)
提交输入类型仅在命名时将值传递给请求。所以你需要做的就是:
...
<input type="submit" name="_submit" value="123456">
...
然后它会在请求中以“_submit”(或任何您想要的名称)的形式提供。