Skip to main content
 首页 » 编程设计

python之在 Django 中协商内容的最小样板数量是多少

2024年08月30日34davidwang456

在 Django 应用程序中,我有多个返回 JSON 的 View ,调用类似于:

return HttpResponse(json.dumps(content), mimetype="application/json") 

我想开始创建根据请求中的 Accept header 返回 HTML 或 JSON 的 View 。可能还有其他类型,但这些是主要类型。我还想获得路由到此 View 的多个 URL;文件扩展名“.html”和“.json”有助于告诉客户在发出请求时应该接受哪些类型,我想避免“?format=json”反模式。

在 Django 中以最少的样板代码或重复代码执行此操作的正确、幸运的方法是什么?

(编辑:改写以更好地遵循 SO 的社区准则。)

请您参考如下方法:

我认为 class-based view mixin (django 1.3+) 是最简单的方法。您的所有 View 都将继承自一个基类,该基类包含用适当内容进行响应的逻辑。