这与此问题有关:Django根据客户端python返回json和html
我有一个适用于Django应用的命令行Python API。当我通过API访问该应用程序时,它应该返回JSON,而在浏览器中它应该返回HTML。我可以使用不同的URL来访问不同的版本,但是如何仅用一个模板在views.py中呈现HTML模板和JSON ?
要呈现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')