Django目录结构

时间:2017-05-10 06:16:00

标签: django python-2.7 django-rest-framework

我是学习Django的新手,我知道设置应用程序目录结构对于将来的添加有多重要。

目前,我正在使用Django REST框架创建一个API,并且有一些关于如何构建Django项目以便将来成功的问题。

我希望API可能在将来提供给可能需要获取数据的其他外部源。我还将构建一个类似系统的前端CRUD来显示和更新数据。

您如何建议在将来添加更多前端类似系统的可能性中构建目录,这些系统全部由Data API提供支持?已经做过一些研究,似乎这些是我见过的可能性。

project
  manage.py
  project
    settings.py
    urls.py
  api
    models.py
    serializers.py
    views.py
  crudapp
    files here...

project
  manage.py
  project
    settings.py
    urls.py
    api
      models.py
      serializers.py
      views.py
  crudapp
     files here...

project
  manage.py
  project
    settings.py
    urls.py
  crudapp
     api
       models.py
       serializers.py
       views.py
     files here...
  futureapp
     api 
       models.py
       serializers.py
       views.py
     files here...

我真的想了解Django和Python应该如何设置这些模块。如果我有单独的模块/应用程序设置,他们都可以访问API应用程序中的模型,以用于我将来构建的任何类型的应用程序吗?

对此有任何澄清或经验将不胜感激。主要目标是为数据库中的数据建立一个API,然后能够构建一个前端CRUD来更新和提取该数据,并有可能在未来构建更多的前端类型应用程序随着数据集的增长。

例如,我正在构建一个公司数据CRUD系统,用于存储可由前端访问的重要公司信息,以及可以提供给其他非DJANGO网站的API。将来,我可能会为单页应用程序添加完全不同的前端/后端CMS类型系统。但是,公司数据集中的数据库中的某些数据可用于填充网站数据。

1 个答案:

答案 0 :(得分:-1)

我会采取这样的结构:

project
    manage.py
    apps
        crudapp
        futureapp1
        futureapp2

因此您可以根据需要添加任意数量的应用,并且主项目文件夹不会增长

还有一个优点是,您的导入将更加美观,而且APPS中的名称冲突更少:

from project.apps.crudapp.models import OneModel

# settings
INSTALLED_APPS = (
   'project.apps.crudapp',
)