4、Django开发总结:Django项目文件和文件夹的合理布局

  • Django是一个流行的Web框架,它提供了一种方便的方法来构建高效的Web应用程序。在开发Django项目时,文件和文件夹的布局是至关重要的,因为它可以帮助您组织代码,使其易于维护和扩展。在本文中,我们将探讨Django项目文件和文件夹的合理布局。
  • Django是一个高效、灵活、易于扩展的Python Web框架,它提供了一种基于模型-视图-控制器(MVC)的架构模式,使得开发人员能够快速构建高质量的Web应用程序。在开发Django项目时,一个好的文件夹布局是非常重要的,因为它有助于组织和管理项目文件,提高开发效率。下面是一些有关Django项目文件与文件夹的合理布局的建议:
  • 一个Django项目(Project)通常包含多个应用(App)。项目里除了有Python的.py文件,  设置文件setting.py,还有html模板(base.html和page.html),静态文件 (static files如CSS和js)及媒体文件(media)。当我们有这么多文件和文件夹时,我们整个项目的文件夹和文件应该怎么布局才清晰合理?小编我就带你来看一看如何合理地布局Django项目文件夹与文件。
  • Django默认项目文件和文件夹布局

  • 1. 项目根目录
  • 项目根目录是Django项目的最高级别目录,它通常包含一个名为“manage.py”的文件和一个名为“requirements.txt”的文件。manage.py是Django的命令行工具,可以用于启动Django开发服务器、创建数据库和执行其他管理任务。requirements.txt文件包含项目所需的Python库及其版本信息,方便其他开发人员在其本地环境中安装相同的依赖项。
  • Django项目通常具有以下文件和文件夹:
  • 在上面的示例中,我们有一个名为“steverocket_pro”的文件夹,它包含了我们的整个Django项目。该文件夹中的“manage.py”文件是Django项目的入口点,它可以用于启动开发服务器,运行数据库迁移等操作。
  • 扩展阅读:
  • 前面的文章已经介绍过django manage.py的内置命令和自定义命令,可以移步参考如下:
  • 三十二、Django进阶:内置manage.py shell开发常用命令用法详解
  • https://blog.csdn.net/zhouruifu2015/article/details/129761808
  • 三十三、Django进阶:自定义manage.py shell管理命令以及案例(附源码)
  • https://blog.csdn.net/zhouruifu2015/article/details/129761804
  • 2. settings.py
  • “settings.py”文件包含了Django项目的所有配置,包括数据库设置,静态文件路径,模板路径等。这个文件非常重要,因为它决定了您的应用程序如何运行。建议将所有的配置都放在“settings.py”中,以便更容易地管理和维护。
  • 关于settings.py的所有详细参数设置,前面的文章已经有介绍过,详细请参考
  • 25、Django开发总结:settings.py设置选项详解_django settings.py_SteveRocket的博客-CSDN博客
  • 3. urls.py
  • “urls.py”文件定义了Django项目中的所有URL路由。当用户访问网站时,Django将使用这些路由来确定哪些视图函数应该被调用。建议将所有的URL路由都放在“urls.py”中,以便更容易地管理和维护。
  • 4. 应用程序文件夹
  • 应用程序目录是Django项目的核心部分,它包含了所有应用程序的代码、模板、静态文件和数据库迁移文件。每个应用程序都应该有一个独立的目录,这样可以方便地维护和扩展每个应用程序的功能。
  • 在Django项目中,应用程序是指一组相关的视图、模型、模板等组件,它们共同实现了一些特定的功能。每个应用程序都应该有自己的文件夹,其中包含了该应用程序的所有组件。
  • 在上面的示例中,我们有两个应用程序“myapp1”和“myapp2”,它们各自有自己的文件夹。每个应用程序文件夹中都应该包含以下文件:
  • - __init__.py:这个文件告诉Python该文件夹是一个Python包。
  • - models.py:这个文件包含应用程序的数据模型。
  • - views.py:这个文件包含应用程序的视图函数。
  • - admin.py:这个文件包含应用程序的管理界面设置。
  • - apps.py:这个文件包含应用程序的配置信息。
  • - tests.py:这个文件包含应用程序的测试代码。
  • 5. 静态文件夹
  • 在Django项目中,静态文件是指CSS、JavaScript、图像等文件,它们用于渲染Web页面。建议将所有的静态文件都放在一个名为“static”的文件夹中,以便更容易地管理和维护。
  • 6. 模板文件夹
  • 在Django项目中,模板是指用于渲染Web页面的HTML文件。建议将所有的模板文件都放在一个名为“templates”的文件夹中,以便更容易地管理和维护。
  • 7. 其他文件夹
  • 除了上述文件和文件夹之外,还可以在Django项目中添加其他文件夹,例如:
  • - media:用于存储用户上传的文件。
  • - locale:用于存储本地化文件。
  • - fixtures:用于存储测试数据。
  • 推荐的Django项目文件与文件夹布局

  • 如下的Django项目(steverocket_pro02)示例,里面包含了2个Web应用(app),分别是blog和users。将项目的模板文件和静态文件分别置于templates和static目录下。在项目根目录下建立了一个requirements文件夹,用于将本地和生产环境下的项目环境依赖区分开来。整个项目推荐性的文件夹与文件布局示例如下:

URL设置的推荐

对于整个项目的URL文件steverocket_pro02/config/urls.py,建议将每个app下的urls.py文件使用include的方式包含进来,这样会比较更清晰。

urlpatterns = [
    path(r'^$', IndexView.as_view(), name='index'),
    path(r'^blog/', include('blog.urls')),
    path(r'^user/', include('users.urls')),
]

模板文件的推荐

对于html模板文件和静态文件(css、fonts、images、js),建议统一放在根目录下的static和templates目录下,或者建议放在各个app下的templates/app/文件夹里,而不是简单放在app/templates/里。看似我们多加了一层文件夹使问题复杂化了,但这样做实际上更安全。这与Django查找模板文件的方法有关。因为我们多加了一层app,这样Django只会查找app文件夹里的模板文件。在views.py里我们也建议通过app/template_name.html调用template,这样会杜绝与其它同名template的冲突。

总之,Django项目的文件和文件夹的布局非常重要,因为它可以帮助您组织代码,使其易于维护和扩展。建议采用上述布局,以便更容易地管理和维护您的Django项目。

扩展阅读:

另外django目录结构布局参考文章:cookiecutter-django

Django第三方库:使用Cookiecutter-django生成项目,及结构和优点详解


更多资料 · 微信公众号搜索【CTO Plus】关注后,获取更多,我们一起学习交流。


输入才有输出,吸收才能吐纳。——码字不易

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

SteveRocket

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值