Django 工作目录结构的最佳实践
Django 是一个出色的基于 Python 的开源 Web 开发框架,你可以使用它来创建全栈 Web 应用程序。由于它是一个框架,因此最初可以预期项目中有许多文件。对于初学者来说,一开始可能会让人不知所措,但没有什么可担心的;随着时间的推移,一切都会变得简单。
Web 应用程序有两个方面:开发和生产。与生产端相比,开发端有不同的设置。Django 应用程序有许多文件夹,例如 static
、media
、templates
等。由于 Django 已经存在一段时间了,你需要了解 Django 工作目录结构的最佳实践,以便在这方面取得更成功的项目区域。我们将在本文中讨论这些方法,请继续阅读!
Django 项目的目录结构应如下所示:
Project Folder/
.gitignore
LICENSE.rst or LICENSE.md
Documentation/
README.rst or README.md
environment
requirements.txt
MyProject/
manage.py
media/
MyProject/
__init__.py
settings/
__init__.py
base.py
development.py
production.py
.env
urls.py
wsgi.py
AppOne/
static/
AppOne/
templates/
AppOne/
urls.py
views.py
models.py
AppTwo/
static/
AppTwo/
templates/
AppTwo/
urls.py
views.py
models.py
AppThree/
static/
AppThree/
templates/
AppThree/
urls.py
views.py
models.py
根文件夹 Project Folder
包含 Django 项目和与该项目相关的所有其他文件,例如 license
、README
、environment
、requirements.txt
、.gitignore
和 Documentation or Docs
。
在 Django 项目 MyProject
中,应该有 manage.py
文件、media
文件夹、包含 settings.py
文件的 MyProject
文件夹和 Django 应用程序。
默认情况下,Django 为我们提供了一个 settings.py
文件和一些其他重要文件,例如 urls.py
、wsgi.py
等。settings.py
文件包含用于生产和发展。因此,对于更重要的项目,它的长度可以增加。
因此,将设置拆分为各自的文件是一个好主意。base.py
文件包含适用于开发和生产的设置。development.py
文件包含所有适用的开发设置,而 production.py
包含所有生产设置。
开发端和生产端可以有不同的数据库设置、密码验证设置、电子邮件设置、支付设置、API 密钥和其他配置。
如果你使用 Python Decouple
来存储敏感数据,.env
文件也应该在这个文件夹中。
每个 Django 应用程序都有一个 static
文件夹和一个 templates
文件夹。在这些文件夹中,将有另一个以应用程序名称命名的文件夹。在这些文件夹中,我们将放置所有静态文件和模板。
这种方法允许我们拥有多个具有相同名称的文件。例如,每个应用程序可能有一个 index.html
文件和一个 style.css
,访问它们会变得更容易。
----------
HTML Files
----------
{% url 'AppOne/index.html' %}
{% url 'AppTwo/index.html' %}
{% url 'AppThree/index.html' %}
---------
CSS Files
---------
{% static 'AppOne/style.css' %}
{% static 'AppTwo/style.css' %}
{% static 'AppThree/style.css' %}
相关文章
Python 中的第一类函数
发布时间:2023/04/25 浏览次数:113 分类:Python
-
第一类函数是被语言视为对象或变量的函数。 我们可以将它们分配给变量或将它们作为对象传递给其他函数。Python 支持第一类函数的功能。
Python 函数参数类型
发布时间:2023/04/25 浏览次数:140 分类:Python
-
在这篇 Python 文章中,我们将学习 Python 中使用的函数参数类型。 我们还将学习如何编写不带参数的 Python 函数。
Python 生成器中的 send 函数
发布时间:2023/04/25 浏览次数:111 分类:Python
-
本教程将介绍如何在 Python 中使用生成器的 send() 函数。我们可以创建一个像迭代器一样运行的函数,并且可以通过 Python 生成器函数在 for 循环中使用。
Python Functools 偏函数
发布时间:2023/04/25 浏览次数:80 分类:Python
-
本文介绍了我们如何使用分部函数,该函数随 functools 库一起提供,并附有示例。 这显示了调用时如何传递属性和部分函数。
Python main() 函数中的参数
发布时间:2023/04/25 浏览次数:157 分类:Python
-
在本教程结束时,我们应该了解Python 中在 main() 中使用参数是否是一种好的做法。
Python 中的内置 identity 函数
发布时间:2023/04/25 浏览次数:88 分类:Python
-
identity 函数只是一个返回其参数的函数。 当我们定义一个恒等函数并赋值时,它会返回该值。在本教程结束时,我们将了解 Python 是否具有内置的 identity 函数。
在 Python 中拟合阶跃函数
发布时间:2023/04/25 浏览次数:177 分类:Python
-
阶跃函数是带有看起来像一系列步骤的图形的方法。 它们由一系列中间有间隔的水平线段组成,也可以称为阶梯函数。本文给出了阶跃函数的简单演示。
在 Python 中创建双向链表
发布时间:2023/04/25 浏览次数:54 分类:Python
-
双向链表是指由称为节点的顺序链接的记录集组成的链接数据结构。 每个节点包含一个前一个指针、一个下一个指针和一个数据字段。
将 Python 类对象序列化为 JSON
发布时间:2023/04/25 浏览次数:152 分类:Python
-
本教程介绍序列化过程。 它还说明了我们如何使用 toJSON() 方法使 JSON 类可序列化,并包装 JSON 以转储到其类中。