首页 常见问题 2024 年选择 Django 的 5 个理由

2024 年选择 Django 的 5 个理由

Apr 09, 2024 pm 02:11 PM
linux python git nginx mongodb macos django

Django是一款颇具年代的Python框架,但凭借其快速的开发速度和低廉的成本,它在2024年仍然值得考虑。Django拥有丰富的功能,涵盖了从SQL数据库管理到API服务,并且可以轻松部署到无服务器架构中。其强大的Python语言支持以及庞大的社区,使其成为各种小型项目的理想选择。

2024 年选择 Django 的 5 个理由

决定采用全栈技术是令人畏惧的。有大量的框架需要评估。 

我将分享我的逆向观点。选择姜戈。 Django Python 框架很旧,但它可以快速且廉价地完成工作。 Django 有一种“包罗万象、固执己见”的哲学。这种方法使得 Django 的上手速度非常快。随着项目规模的扩大,将 Django 分成单独的组件,这些组件可以用作 SQL 数据库管理器、对象关系映射器或 API 服务器。

2024 年,我们停止在后端使用 Firebase 和 MongoDB,转而使用 Django。虽然许多项目可以从更现代的框架中受益,但选择更新的技术也可能会导致更多的成本,因为团队很难找到具有所需技能的开发人员,并且后来发现随着不可预见的问题的出现,开发预算不断增加。有了 Django,您之前的开发道路已经由数以万计的开发人员顺利铺好。  

对于我们为业务工作流程构建的小型项目类型,Django 不仅可以更快地将想法引入原型,而且构建和维护成本也更低。以下是 2024 年应考虑使用 Django 的 5 大理由。

1. SQL 即服务

Django 使用SQL 数据库。与 Django 一样,SQL 被认为是古老的,并且不如 MongoDB 等较新的 NoSQL 数据库那么迷人。查看 Django 的一种方法是将其视为具有预构建代码的 SQL 数据库,以使数据库更易于使用。如果 Django 无法满足您未来对特定功能的需求,您仍然可以单独使用 SQL 数据库,或者使用 Django 的部分内容来使数据库更易于访问。  

 在我们的例子中,我们的 Django 部署的一部分由托管的 PostgreSQL 数据库作为服务组成。首先,我们只需将连接信息添加到 Django 应用程序即可。这种架构还允许我们使用 Django 作为临时原型工具来设置数据的工作界面和逻辑。随着项目的发展,我们可以绕过 Django,使用 Flutter 或 React 等其他应用程序直接连接数据库,或者设置一个精简的中间服务器来桥接数据库和前端。 

SQL的成熟度在招聘人才时也是一个优势。许多大学和技术学校都将 SQL 作为主流课程的一部分。从学校招聘人才更容易,因为学生拥有最近的学术经验并渴望获得更多的现实经验。大多数商业软件项目无需高级 SQL 数据库管理技能即可完成。 

2.API服务

使用 SQL 或Django REST 框架公开 API 端点的能力使我们能够使用不同的技术快速构建多个数据库接口。尽管 Django 模板易于学习且功能强大,但这些模板的交互性不如反应性更强的框架。  

幸运的是,Django 可以为相同的数据提供 Django 页面模板和 REST API。这意味着您可以测试不同的前端架构,同时重用后端的大部分核心逻辑。

从 Django 而不是 API 服务器开始的好处是更容易开始使用 Django 和原型化概念。 Django 非常易于安装,并且配备了 Web 应用程序所需的一切。pip install django会让你继续前进。构建功能原型并部署它的速度非常快。 Django 带有身份验证、数据库、开发 Web 服务器和模板语法。这使得可以使用不同的安全组和内置的员工管理面板来快速构建复杂的站点。 

3. 无服务器架构

Django 可以轻松部署到无服务器架构,并消除虚拟服务器的设置和维护。从 2023 年开始,我们将 Django 项目迁移到无服务器架构。之前,我们在虚拟服务器中使用Ubuntu Linux。我们曾经在同一个可扩展虚拟服务器中运行 PostgreSQL、NGINX 和 Django。迁移到一套数据库、存储、CPU 和网络云服务后,启动一个新项目只用了不到一天的时间。 

在软件开发过程中,我们的代码被推送到分支上的 GitHub,我们可以在浏览器中将其作为 Web 应用程序进行预览。在同行或经理审查拉取请求后,它会合并到主分支中,从而触发将代码自动部署到生产服务以运行应用程序。 Django 的 GitHub 部署脚本以及设置由应用程序服务提供。我们只是复制并部署它。 

由于我们的应用程序服务不能用于存储媒体和数据,因此我们使用不同的服务来存储图像等媒体。由于 Django 已经使用了很长时间,因此您遇到的几乎所有连接问题都会有解决方案。例如,适用于 Python 的 AWS 开发工具包 Boto3提供了对 S3 的轻松访问,这就是我们处理存储的方式。

4.Python

Python 仍然是最流行的语言之一。它在美国各级教育中广泛教授,包括小学、初中、高中和大学。如此庞大的人才库使得招聘变得更加容易,并且将 Python 集成到结构化学术课程中可以带来更好的编程实践。即使没有 Python 经验,熟悉另一种语言的人也可以快速提高工作效率。

由于无需编译,Python 促进了非常快速的开发工作流程。缺乏编译确实会带来性能损失。对于大多数项目来说,硬件比劳动力便宜。凭借可扩展的基于云的架构,Django 的性能对于并发连接数较低的项目来说永远不是问题。

尽管 Python 是动态类型的,但您可以使用类型 来利用类型提示。 

也许比语言功能更重要的是工具链。由于Python不需要编译,工具链更容易设置和维护。pyenv 和venv等轻量级工具可以在整个开发团队中保持 Python 和包的版本一致。只要在开发人员工作站上正确设置 PATH,开发和部署通常就不会出现问题。我们的团队混合使用 Windows 10、Windows 11、macOS 和 Ubuntu 22.04 进行开发。尽管不是必需的,但每个人都使用带有一系列 Python 扩展的 VS Code。

5. 社区

20多年过去了,几乎所有Django问题都被其他人解决了。  

社区庞大的规模和悠久的历史也有助于人员变动。有关 Django 的大部分信息都可以通过 QA 网站或 AI 网站进行搜索找到。

相比之下,当我使用其他更新的框架时,我发现我需要通过向人们提问来获取信息,通常是在 Discord 或 Slack 等系统上。

对于 Django,我通常不需要等待一个人来回答我的问题,因为在我之前的数以万计的 Django 开发人员通常已经提出并回答过这个问题。尽管有许多关于 Django 和 Python 的免费且廉价的课程,但大多数人只是开始编码并寻找答案。

虽然 Python 语言和 Django 都在积极开发中,但小型项目中的大多数问题不会因语言或框架的边缘情况而发生。  

Django 未来的发展

我不会预测未来。年轻人将创造它。在我的公司,我们有一个活跃的本科生实习计划。当然,他们使用并且喜欢 Django。然而,这是他们工作的一部分。让我惊讶的是,他们在工作之余在自己的项目中使用Python和Django。我通常期望 24 岁以下的人在全栈项目的后端和前端使用 JavaScript,可能还使用 TypeScript。年轻的程序员是未来,他们经常使用 Python 作为后端,并结合 Django 管理面板、Django 模板语法和前端的 React 之类的东西。

最终,更现代的框架可能更适合您的项目。如果你喜欢 Python,那么 Flask 或 FastAPI 可能比 Django 更好。带有 Django 的 GraphQL可能比久经考验的真正的 REST 协议更好。然而,在您认为 Django 陈旧且单一之前,请从组件化的角度重新审视它。这可能是将您的创意变为现实的最快、最便宜的方式。

20 年后,Django 仍然表现出色。  

以上是2024 年选择 Django 的 5 个理由的详细内容。更多信息请关注PHP中文网其他相关文章!

本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

热AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover

AI Clothes Remover

用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool

Undress AI Tool

免费脱衣服图片

Clothoff.io

Clothoff.io

AI脱衣机

AI Hentai Generator

AI Hentai Generator

免费生成ai无尽的。

热门文章

R.E.P.O.能量晶体解释及其做什么(黄色晶体)
3 周前 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.最佳图形设置
3 周前 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.如果您听不到任何人,如何修复音频
3 周前 By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25:如何解锁Myrise中的所有内容
3 周前 By 尊渡假赌尊渡假赌尊渡假赌

热工具

记事本++7.3.1

记事本++7.3.1

好用且免费的代码编辑器

SublimeText3汉化版

SublimeText3汉化版

中文版,非常好用

禅工作室 13.0.1

禅工作室 13.0.1

功能强大的PHP集成开发环境

Dreamweaver CS6

Dreamweaver CS6

视觉化网页开发工具

SublimeText3 Mac版

SublimeText3 Mac版

神级代码编辑软件(SublimeText3)

无法以 root 身份登录 mysql 无法以 root 身份登录 mysql Apr 08, 2025 pm 04:54 PM

无法以 root 身份登录 MySQL 的原因主要在于权限问题、配置文件错误、密码不符、socket 文件问题或防火墙拦截。解决方法包括:检查配置文件中 bind-address 参数是否正确配置。查看 root 用户权限是否被修改或删除,并进行重置。验证密码是否准确无误,包括大小写和特殊字符。检查 socket 文件权限设置和路径。检查防火墙是否阻止了 MySQL 服务器的连接。

mysql 是否要付费 mysql 是否要付费 Apr 08, 2025 pm 05:36 PM

MySQL 有免费的社区版和收费的企业版。社区版可免费使用和修改,但支持有限,适合稳定性要求不高、技术能力强的应用。企业版提供全面商业支持,适合需要稳定可靠、高性能数据库且愿意为支持买单的应用。选择版本时考虑的因素包括应用关键性、预算和技术技能。没有完美的选项,只有最合适的方案,需根据具体情况谨慎选择。

mysql 可以在 android 上运行吗 mysql 可以在 android 上运行吗 Apr 08, 2025 pm 05:03 PM

MySQL无法直接在Android上运行,但可以通过以下方法间接实现:使用轻量级数据库SQLite,由Android系统自带,无需单独服务器,资源占用小,非常适合移动设备应用。远程连接MySQL服务器,通过网络连接到远程服务器上的MySQL数据库进行数据读写,但存在网络依赖性强、安全性问题和服务器成本等缺点。

如何针对高负载应用程序优化 MySQL 性能? 如何针对高负载应用程序优化 MySQL 性能? Apr 08, 2025 pm 06:03 PM

MySQL数据库性能优化指南在资源密集型应用中,MySQL数据库扮演着至关重要的角色,负责管理海量事务。然而,随着应用规模的扩大,数据库性能瓶颈往往成为制约因素。本文将探讨一系列行之有效的MySQL性能优化策略,确保您的应用在高负载下依然保持高效响应。我们将结合实际案例,深入讲解索引、查询优化、数据库设计以及缓存等关键技术。1.数据库架构设计优化合理的数据库架构是MySQL性能优化的基石。以下是一些核心原则:选择合适的数据类型选择最小的、符合需求的数据类型,既能节省存储空间,又能提升数据处理速度

mysql怎么复制粘贴 mysql怎么复制粘贴 Apr 08, 2025 pm 07:18 PM

MySQL 中的复制粘贴包含以下步骤:选择数据,使用 Ctrl C(Windows)或 Cmd C(Mac)复制;在目标位置右键单击,选择“粘贴”或使用 Ctrl V(Windows)或 Cmd V(Mac);复制的数据将插入到目标位置,或替换现有数据(取决于目标位置是否已存在数据)。

Navicat查看MongoDB数据库密码的方法 Navicat查看MongoDB数据库密码的方法 Apr 08, 2025 pm 09:39 PM

直接通过 Navicat 查看 MongoDB 密码是不可能的,因为它以哈希值形式存储。取回丢失密码的方法:1. 重置密码;2. 检查配置文件(可能包含哈希值);3. 检查代码(可能硬编码密码)。

Linux最有用的是什么? Linux最有用的是什么? Apr 09, 2025 am 12:02 AM

Linux在服务器、嵌入式系统和桌面环境中的应用广泛。1)在服务器领域,Linux因其稳定性和安全性成为托管网站、数据库和应用的理想选择。2)在嵌入式系统中,Linux因其高度定制性和高效性而受欢迎。3)在桌面环境中,Linux提供了多种桌面环境,满足不同用户需求。

navicat怎么汉化 navicat怎么汉化 Apr 08, 2025 pm 11:30 PM

Navicat 汉化方法:下载相应汉化补丁并备份原文件;将汉化补丁复制到 Navicat 安装目录,覆盖原文件;重启 Navicat;验证菜单、选项、提示是否已汉化。