DJango项目和应用程序布局以及导入似乎非常重复



我正在尝试布局我的Django应用程序,但我不知道什么是合适的方法。我读过很多问题和博客文章,但似乎没有什么明显的。

这是我的应用程序(我讨厌重复buildhealth这样的术语,但我猜它在Django中是idomatic?(-由django-admin startproject buildhealth创建的项目名称,由django-admin startapp performance创建的第一个应用程序(性能仪表板(的名称是performance(:

[ROOT]
├── ...
├── buildhealth
│   ├── __init__.py
│   ├── buildhealth
│   │   ├── __init__.py
│   │   ├── asgi.py
│   │   ├── performance
│   │   │   ├── __init__.py
│   │   │   ├── ...
│   │   │   ├── views.py
│   │   │   └── ...
│   │   ├── settings.py
│   │   ├── urls.py
│   │   └── wsgi.py
│   ├── ...
│   ├── manage.py
│   └── staticfiles
│       └── ...
├── poetry.lock
├── pyproject.toml
└── ...

这种方法很有效,但我到处都是做进口的文件,感觉很糟糕。例如,在settings.py中,我必须键入以下内容:

ROOT_URLCONF = "buildhealth.buildhealth.urls"

有两个这样的进口产品,感觉非常不对。我说错了吗?我没有正确导入东西吗?我简直不敢相信事情会是这样。

在Django中启动新项目时,请在命令末尾添加一个点,以避免出现同名的嵌套文件夹。

django-admin startproject buildhealth .

这样做时,项目文件夹将在运行命令时所处文件夹的根目录中创建

我已经有一段时间没有使用Django了,但你可以给你的设置文件夹一个与整个项目不同的名称。我过去常常用下划线将这些设置文件夹命名为_settings,以使它们在我的IDE 中保持在顶部

您可以阅读此线程了解更多信息:在Django 中使用settings.py以外的设置文件

最新更新