Django test отправьте запрос на следующий URL - PullRequest
0 голосов
/ 24 ноября 2018

Я пишу тестовый пример, в котором после входа пользователь перенаправляет на форму, которая вызывается промежуточным программным обеспечением и показывается пользователю.Поэтому теперь пользователь должен отправить форму, после которой при отправке пользователь перенаправляет на обычную страницу.

middleware.py

def process_view(self, request, view_func, *view_args, **view_kwargs):
    if condition:
        ...
        ...
        return redirect('%s?next=%s' % (reverse('form'), request.path))
    else:
        return  None

form.html

<form action="{% url 'form'%}" method="post">
  <div>
    <input type="radio" id="yes" name="is_accepted" value="yes"  onchange="activateButton(e)" checked>
    <label for="input1" >Yes</label>
    <br>
    <input type="radio" id="no" name="is_accepted" value="no" onchange="activateButton(e)">
    <label for="input2">No</label>
    <input type="hidden" id="next" name="next" value="{{ next }}">
    <button type="submit" name="submit" id="submit">Submit</button>
  </div>
</form> 

Как толькопосле отправки данных формы промежуточное программное обеспечение должно выйти и вернуться на обычную или следующую страницу.Он работает нормально в браузере, но во время тестирования отображается форма, но данные не сохраняются при отправке запроса.

response = client.post(form_url, {'is_accepted': 'yes'}, follow=True)

После отправки запроса по-прежнему содержимое ответа остается содержимым формы.

...