Я столкнулся со следующей проблемой.Когда я запускаю модульный тест, чтобы проверить, правильно ли пользователь вошел в систему, возвращенный HTTP-ответ не содержит переменных из шаблона.
class WorkflowViewTest(TestCase):
def test_response_authorized(self):
User = get_user_model()
user = User.objects.get(username='JohnDoe')
self.client.force_login(user)
response = self.client.get('/workflow/')
print(response.content.decode()) # response content is not right
self.assertEqual(response.status_code, 200) # assertions are passing just fine
self.assertTemplateUsed(response, 'workflow.html')
Упрощенное содержимое используемого шаблона 'workflow.html'
:
{% extends "base_generic.html" %}
{% load static %}
{% block content %}
{% if user %}
{{user}}
{{user.username}}
{{user.first_name}}
{{user.last_name}}
{{user.email}}
{% else %}
User variable not provided
{% endif %}
{% endblock %}
Где кодируется response.context.content
:
<body>
AnonymousUser
</body>
</html>
Я пытался создать пользователя в рамках теста, я также создал пользователя вручную, я пробовал и self.client.force_login()
, и self.client.login()
.Ни одно из предложенных мной решений не сработало.
Я действительно ценю любые идеи.Спасибо