0

0

2024 年选择 Django 的 5 个理由

betcha

betcha

发布时间:2024-04-09 14:11:20

|

1750人浏览过

|

来源于DZone

原创

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 的轻松访问,这就是我们处理存储的方式。

Programming Helper
Programming Helper

AI代码自动生成器,在AI的帮助下更快地编程

下载

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 仍然表现出色。  

热门AI工具

更多
DeepSeek
DeepSeek

幻方量化公司旗下的开源大模型平台

豆包大模型
豆包大模型

字节跳动自主研发的一系列大型语言模型

WorkBuddy
WorkBuddy

腾讯云推出的AI原生桌面智能体工作台

腾讯元宝
腾讯元宝

腾讯混元平台推出的AI助手

文心一言
文心一言

文心一言是百度开发的AI聊天机器人,通过对话可以生成各种形式的内容。

讯飞写作
讯飞写作

基于讯飞星火大模型的AI写作工具,可以快速生成新闻稿件、品宣文案、工作总结、心得体会等各种文文稿

即梦AI
即梦AI

一站式AI创作平台,免费AI图片和视频生成。

ChatGPT
ChatGPT

最最强大的AI聊天机器人程序,ChatGPT不单是聊天机器人,还能进行撰写邮件、视频脚本、文案、翻译、代码等任务。

相关专题

更多
TypeScript工程化开发与Vite构建优化实践
TypeScript工程化开发与Vite构建优化实践

本专题面向前端开发者,深入讲解 TypeScript 类型系统与大型项目结构设计方法,并结合 Vite 构建工具优化前端工程化流程。内容包括模块化设计、类型声明管理、代码分割、热更新原理以及构建性能调优。通过完整项目示例,帮助开发者提升代码可维护性与开发效率。

47

2026.02.13

TypeScript全栈项目架构与接口规范设计
TypeScript全栈项目架构与接口规范设计

本专题面向全栈开发者,系统讲解基于 TypeScript 构建前后端统一技术栈的工程化实践。内容涵盖项目分层设计、接口协议规范、类型共享机制、错误码体系设计、接口自动化生成与文档维护方案。通过完整项目示例,帮助开发者构建结构清晰、类型安全、易维护的现代全栈应用架构。

194

2026.02.25

数据分析工具有哪些
数据分析工具有哪些

数据分析工具有Excel、SQL、Python、R、Tableau、Power BI、SAS、SPSS和MATLAB等。详细介绍:1、Excel,具有强大的计算和数据处理功能;2、SQL,可以进行数据查询、过滤、排序、聚合等操作;3、Python,拥有丰富的数据分析库;4、R,拥有丰富的统计分析库和图形库;5、Tableau,提供了直观易用的用户界面等等。

1134

2023.10.12

SQL中distinct的用法
SQL中distinct的用法

SQL中distinct的语法是“SELECT DISTINCT column1, column2,...,FROM table_name;”。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

340

2023.10.27

SQL中months_between使用方法
SQL中months_between使用方法

在SQL中,MONTHS_BETWEEN 是一个常见的函数,用于计算两个日期之间的月份差。想了解更多SQL的相关内容,可以阅读本专题下面的文章。

381

2024.02.23

SQL出现5120错误解决方法
SQL出现5120错误解决方法

SQL Server错误5120是由于没有足够的权限来访问或操作指定的数据库或文件引起的。想了解更多sql错误的相关内容,可以阅读本专题下面的文章。

2174

2024.03.06

sql procedure语法错误解决方法
sql procedure语法错误解决方法

sql procedure语法错误解决办法:1、仔细检查错误消息;2、检查语法规则;3、检查括号和引号;4、检查变量和参数;5、检查关键字和函数;6、逐步调试;7、参考文档和示例。想了解更多语法错误的相关内容,可以阅读本专题下面的文章。

380

2024.03.06

oracle数据库运行sql方法
oracle数据库运行sql方法

运行sql步骤包括:打开sql plus工具并连接到数据库。在提示符下输入sql语句。按enter键运行该语句。查看结果,错误消息或退出sql plus。想了解更多oracle数据库的相关内容,可以阅读本专题下面的文章。

1703

2024.04.07

C# ASP.NET Core微服务架构与API网关实践
C# ASP.NET Core微服务架构与API网关实践

本专题围绕 C# 在现代后端架构中的微服务实践展开,系统讲解基于 ASP.NET Core 构建可扩展服务体系的核心方法。内容涵盖服务拆分策略、RESTful API 设计、服务间通信、API 网关统一入口管理以及服务治理机制。通过真实项目案例,帮助开发者掌握构建高可用微服务系统的关键技术,提高系统的可扩展性与维护效率。

76

2026.03.11

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
Django 教程
Django 教程

共28课时 | 4.9万人学习

Django DRF 源码解析
Django DRF 源码解析

共21课时 | 1.5万人学习

Django参考手册
Django参考手册

共0课时 | 0.1万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号