TastyPie 似乎严重依赖 Django,我想开发一个使用 REST 的 Python 应用程序。我知道 Django 是一个用于开发网站的 API,但是有没有办法将 Django 与 TastyPie 一起用作完全基于控制台的应用程序?
1 回答
你好像把事情搞混了。Django 是一个实现 MVC 模型的框架,即模型、视图和控制器(他们稍微修改了这个术语,但这是一个细节)。它允许您使用模型使用 ORM 与数据库交互,使用 HTML(视图,在 Django 中称为模板)显示输出数据,并定义将模型粘合到视图(控制器,在 Django 中称为视图)的逻辑。
使用 REST,您可以使用 HTTP 协议中已经定义的关键字来操作资源(主要是数据库数据)。Tastypie 是一个 Django 包,允许您在 Django 项目上轻松开发 REST 接口。
Django 允许定义可从控制台调用的命令,这些命令可以用 Tastypie 插入。这回答了你的问题,但我怀疑这是你需要的。
如果您不需要 Web 集成(仅限控制台的应用程序),那么您就不会使用 Django 的模板部分,也不会使用它的 HTTP 请求处理和路由。我建议您使用另一种 ORM,例如 SQLAlchemy。如果需要,可以使用诸如 ncurse 之类的库来创建控制台界面。首先尝试了解您的需求:您想要实现什么?回答完这个问题后,你应该问自己:我需要 ORM(数据库集成)和模板(输出如 HTML)吗?如果不是,那么请重新考虑在您的项目中使用 Django,并权衡它与其他更适合您需求的框架的优缺点。
我建议先把事情弄清楚,因为基于控制台的应用程序不使用 HTTP 进行通信,这是 Django 框架和 REST 哲学的基础。