首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >带有Django Admin的REST API

带有Django Admin的REST API
EN

Stack Overflow用户
提问于 2021-02-28 05:09:34
回答 1查看 296关注 0票数 1

我正在使用Django REST框架构建一个API-first应用程序,所以它根本没有html视图,只使用基于令牌的身份验证。同时,我想使用Django管理界面,这是没有问题的,但我担心性能成本,因为它依赖于许多应用程序(会话,标准身份验证,消息,csrf等),这些应用程序在主应用程序中并不需要,但会在每个请求上运行。

有没有办法将特定于管理的中间件设置为仅在管理界面上运行?

我知道我可以将它们分成子类,并在除管理站点以外的所有请求上提高MiddlewareNotUsed,但也许有一些内置的或众所周知的解决方案?

EN

回答 1

Stack Overflow用户

发布于 2021-02-28 09:33:14

回答你的问题,不,我不认为有内置的解决方案来迎合这一点。但这可能是因为你的目的并不适合Django的设计和哲学。

我同意Sahil对此的评论。我曾经对性能也很偏执,但我意识到我低估了Django的速度(即使使用了所有这些基本的中间件),如果性能如此关键,我可能一开始就不应该使用Django。我猜禁用这些中间件最多只会节省应用程序的响应时间,不明显的毫秒数;不可避免的网络波动可能会更显著。开发人员的时间比在出现任何性能和/或可伸缩性问题时投入的额外硬件更昂贵。

但是,如果您仍然希望节省中间件处理,我有一个替代的想法: Django admin提供的便利功能(即CRUD操作)可以用DRF视图集非常快速地复制。也许您可以使用一些快速开发的前端框架为您的用户构建相应的API客户端。(我想说的是,只需使用DRF browsable API,但我记得这也依赖于与Django admin几乎相同的基本中间件。)

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/66403503

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档