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

标签 python django

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

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

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

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

(编辑:重新措辞以便更好地遵循 SO 的社区准则。)

最佳答案

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

关于python - 在 Django 中协商内容的最小样板数量是多少?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10200972/

相关文章:

python - Tortoise ORM for Python 没有返回实体的关系(Pyndantic,FastAPI)

python - 按特定顺序枚举篮子中的球

python - Django manage.py 在项目文件夹外创建

python - python生成器可以使用递归吗?

Django Channels 在 asyncio.sleep 期间无法接收事件?

c++ - 使用 distutils 加快构建过程

python - 'UserCreationForm' 对象没有属性 'get_username' django 1.8

python - 在 Django 单元测试中使用 mock 修补 celery 任务

python - Django "deconstruct"模型字段函数的用途是什么?

python - DefaultRouter 类没有为 python 中的所有应用程序创建 API Root View