Значение POST, связанное с типом ввода submit, с использованием django.test.client.Client - PullRequest
1 голос
/ 06 февраля 2012

Я пытаюсь написать модульный тест для представления 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"})

1 Ответ

3 голосов
/ 06 февраля 2012

Тип ввода submit передает значение в запрос, только если он назван.Таким образом, все, что вам нужно сделать, это что-то вроде:

...
<input type="submit" name="_submit" value="123456">
...

Затем он будет доступен в запросе как _submit (или как вы хотите его назвать).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...