如何组织 Django API

How to organize Django API

我正在使用 Django Rest Framework 为项目创建 API。

我对 Django 和 DRF 还很陌生,对 API 的总体开发也很陌生,所以我对如何组织我的项目有一些疑问。

我有一个用于 API 的应用程序,为了组织的目的,我将视图和序列化程序按文件为每个资源分开,有点像这样:

|- api
 |- views
  |- resource1.py
  |- resource2.py
  ...
 |- serializers
  |- resource1.py
  |- resource2.py
  ...

同时我被告知每个资源的 API 可能会在其他上下文中重用,因此如果这些“模块”是独立的,那将是有益的。

我应该如何构建这个项目,以便每个资源的 API 将来可以轻松地相互独立地重用?我的第一直觉是在这个项目中为每个资源创建和应用程序。这有意义吗?

谢谢!

根据 doc,您应该使用以下命令创建不同的应用程序:

python manage.py startapp yourapp

对于 Django,一个应用程序

is a Web application that does something – e.g., a Weblog system, a database of public records or a small poll app. A project is a collection of configuration and apps for a particular website. A project can contain multiple apps. An app can be in multiple projects.

因此,在您的情况下,您应该创建多个应用程序,并且对于每个应用程序,您将拥有一个序列化程序文件、一个视图文件和一个模型文件(多亏了命令行)。跟随你的第一直觉 ;) 就像你说的,你可以在根目录下有一个模块文件夹来重用某些部分。