Это связано с этим вопросом: Django возвращает json и html в зависимости от клиентского питона
У меня есть командная строка Python API для приложения Django. Когда я получаю доступ к приложению через API, оно должно возвращать JSON, а в браузере - HTML. Я могу использовать разные URL-адреса для доступа к разным версиям, но как мне отобразить HTML-шаблон и JSON в views.py только с одним шаблоном?
Для рендеринга HTML я бы использовал:
return render_to_response('sample/sample.html....')
Но как бы я сделал то же самое для JSON, не помещая шаблон JSON? (content-type
должен быть application/json
вместо text/html
)
Что будет определять выходные данные JSON и HTML?
Так в моих views.py:
if something:
return render_to_response('html_template',.....)
else:
return HttpReponse(jsondata,mimetype='application/json')