@Zer07

Как вернуть json используя HttpResponce?

Есть вьюха:

class CategoriesListView(ListView):
      model = Category

      queryset = Category.objects.all()
      context_object_name = 'categories'
      template_name = 'bikes_site/categories_list.html'

И такой шаблон:
<ul>
    {% for category in categories %}
    <li> <a href="{{ category.get_absolute_url }}" class="btn btn-light mb-2" >{{ category.name|title }}</a></li>
    {% endfor %}
</ul>


Нужно сделать что-то типа такого HttpResponce(json.dumps(name: Category.name)).

Вот сам тест
def test_categories(setup):
    client = Client()
    response = client.get('/categories/')
    assert response.status_code == 200
    assert json.loads(response.content.decode('utf-8'))[2]['name'] == 'Квадроциклы'
  • Вопрос задан
  • 50 просмотров
Пригласить эксперта
Ответы на вопрос 1
@FulTupFul
Я так понимаю вы рендерите html, а не отдаете чистый json. Вы можете получить переданный в рендер контекст при помощи Context
response = client.get('/categories/')
response.context['name']

https://docs.djangoproject.com/en/2.2/topics/testi...
Если всё же ответом служит application/json тогда:
response = client.get('/categories/')
response.json()['name']
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы