Django根据客户端python返回json和html

时间:2012-02-13 12:07:30

标签: python html django json

我有一个django应用程序,它有html模板,我还有一个命令行python api,它可以对服务器上的django应用程序执行GET和POST请求。 api几乎可以完成django应用程序可以执行的所有操作。我怎么做到这样当我通过浏览器访问django应用程序时它返回html但是当我通过api访问它时它返回json?

我必须在哪里放置json以及我必须对我的应用进行哪些​​更改?

谢谢

1 个答案:

答案 0 :(得分:7)

为JSON和HTML版本使用不同的URL。

我建议您的JSON版本可以在r'normal/api(?P<json_flag>/json/?)$'这样的网址上使用,并在视图中有一个参数来接收json标志。然后你可以适当地服务。

当然,您的视图必须使用不同的逻辑来生成HTML和JSON。我强烈建议您使用json模块而不是模板来生成JSON。