最近开始学习Django。
长话短说 -
如果我选择合并:
django&{s} MVC components中的哪一个会变得无关紧要?
我假设 templates 组件。在这种情况下是否还有其他必要的基本组件(模型/视图......)?
答案 0 :(得分:0)
根据你的帖子假设你使用Django只是从数据库中提取数据并以JSON格式将其提供给客户端,并且你的模板将呈现在客户端(使用例如Angular)然后你就是纠正你可能不会需要Django模板。但是,您仍然需要某种模型(无论是使用Django模型还是其他模型),还需要控制器(Django称之为 views )以便:
因此,虽然你的控制器(也就是视图)可能很多,但是更健康的"由于您构建应用程序的方式,他们在某种程度上仍然是必要的。如果您想为数据库提供一些干净且一致的API,则始终需要使用模型。
编辑:要进一步扩展这一点 - 虽然有一个名为Django REST Framework的Python库,但它确实可以帮助您构建RESTful API。您当然可以使用Django自己构建RESTful API,而无需利用它或任何其他库。正如用户D. Shawley在回答这个问题时的回答 - What exactly is RESTful programming? - RESTful API基本上只是一个资源由持久性标识符(在本例中为URI)标识的资源,其中资源是使用一组通用动词(在本例中为HTTP方法,如GET,POST,DELETE等)进行操作。因此,使用URI的名词作为名词和HTTP方法作为动词,您的Django框架可能支持以下RESTful操作:GET
https://your-app.com/product/123
- 此操作获取由ID 123
POST
https://your-app.com/product
- 此操作会创建新产品PUT
https://your-app.com/product/123
- 此操作会更新由ID 123
DELETE
https://your-app.com/product/123
- 此操作会删除由ID 123
从这些操作返回的数据并不一定需要采用任何特定格式(无论是JSON,XML还是其他格式)。在一个严格遵守REST原则的应用程序中,客户端(RESTful API的使用者,在本例中是您的前端应用程序)将能够指定(使用HTTP Accept
标头)他们想要的格式消耗数据。
我希望这不会太混乱,但实际上我想说明REST架构只是一套原则,而网络程序员开发的API可能不一定100%遵循这些原则。您的应用程序是否必须严格遵守RESTful原则取决于您的特定要求。那么问自己的一个问题是你希望通过使用Django构建RESTful API来实现什么目标?对于很多开发人员来说,答案很简单,因此我的Angular / React /等界面易于使用。用于检索和更新服务器端资源的应用程序。"