Django 使用目录结构来排列 Web 应用程序的不同部分。现在,我们将在这里更详细地了解 Django 应用程序结构和项目结构。
Django项目结构
这就是默认的 Django 项目结构。让我们了解上图中显示的文件的功能,以帮助您了解项目文件夹的组成内容。
1.管理.py
该文件基本上用作命令行实用程序,用于部署、调试或运行我们的 Web 应用程序。
该文件包含我们在 shell 中使用的runserver、makemigrations 或 migrations等的代码。无论如何,我们不需要对文件进行任何更改。
- runserver: 此命令用于运行我们的 Web 应用程序的服务器。
- 迁移:这用于将对模型所做的更改应用到数据库中。也就是说,如果我们对数据库进行任何更改,那么我们将使用migrate命令。这是我们第一次创建数据库时使用的。
- Makemigration:这样做是为了应用由于数据库中的更改而执行的新迁移。
此图片仅供您参考。您不必理解此处编写的代码,因为我们不会在此处更改任何内容。
2._init_.py
该文件保持为空,其存在只是为了表明该特定目录(在本例中为 django_project)是一个package。
我们也不会对此文件进行任何更改。
3.设置.py
该文件用于添加所有应用程序和中间件 应用程序。此外,它还包含有关模板和数据库的信息。总的来说,这是我们 Django Web 应用程序的主文件。
4. url.py
该文件处理我们 Web 应用程序的所有 URL。该文件包含我们网站的所有端点的列表。
URL:统一资源定位器用于提供互联网上存在的资源(如图像、网站等)的地址。
5.wsgi.py _
该文件主要与WSGI 服务器有关,用于将我们的应用程序部署到 Apache 等服务器上。
WSGI 是 Web 服务器网关接口的缩写,可以被视为描述服务器如何与 Web 应用程序交互的规范。
同样,我们不会对此文件进行任何更改。
您不必理解此处编写的代码,因为我们不会更改此处的任何内容。
6.asgi.py _
在较新版本的 Django 中,除了wsgi.py之外,您还会发现一个名为asgi.py的文件。ASGI可以被认为是WSGI的后继接口。
ASGI,异步服务器网关接口的缩写,也具有与 WSGI 类似的工作,但它比前一个更好,因为它为 Django 开发提供了更好的自由度。这就是 WSGI 现在越来越多地被ASGI 取代的原因。
同样,我们不会对此文件进行任何更改。
7. 应用程序
除了上面的文件之外,我们的项目还包含所有应用程序目录。现在我们将详细研究 Django 应用程序结构
Django 应用程序结构
上图是我们最近关于Django hello world应用程序的文章中的应用程序结构。让我们检查一下应用程序目录中的文件以了解它们的用途。
1._init_.py
该文件与 Django 项目结构中的 _init_.py 文件具有相同的功能。它保持为空,只是为了表明特定的应用程序目录是一个包。
无需手动更改该文件。
2.管理.py
顾名思义,该文件用于将模型注册到 Django 管理中。
现有的模型有一个超级用户/管理员,可以控制正在存储的信息。
该管理界面是预先构建的,我们不需要创建它。
3.应用程序.py
该文件处理 应用程序的应用程序配置。在大多数情况下,默认配置就足够了,因此我们一开始不会在这里做任何事情。
4.模型.py
该文件包含我们的 Web 应用程序的模型(通常作为类)。
模型基本上是我们正在使用的数据库的蓝图,因此包含有关数据库的属性和字段等的信息。
5.views.py _
该文件是至关重要的,它包含所有视图(通常作为类)。Views.py可以认为是一个与客户端交互的文件。视图是我们在渲染 Django Web 应用程序时看到的用户界面。
我们将在后续部分中使用Django Rest_Framework中的序列化器概念来创建不同类型的视图。
6. url.py
就像项目urls.py文件一样,该文件处理我们 Web 应用程序的所有 URL。该文件只是将应用程序中的视图与主机 Web URL 链接起来。设置urls.py具有与视图对应的端点。
7. 测试.py
该文件包含包含应用程序不同测试用例的代码。它用于测试应用程序的工作情况。
我们一开始不会处理这个文件,因此它现在是空的。
结论
这就是我们的结论。如果您不理解本教程的任何部分,请不要担心。我们将发布更多关于 Django 的教程,慢慢让您对这些结构有更全面的了解。由于您将亲自操作这些文件,因此您将轻松了解 Django 应用程序结构和项目结构。
现在,我们的下一篇文章将讨论 Django URL 结构。请继续关注未来几天有关Python Django 和Flask的更多文章!