网络上的 Python:为什么像 Django 这样的框架很热门

终于明白为什么人人都爱Django了,Django果然天下第一 对于Python开发者来说,无论是初学者还是资深大牛,都会使用Web框架。常用框架中又数Django最全面,深受开发者喜爱,据说包括油管和ins在内的众多巨头均采用Django开发。 Django有哪些可爱之处?为什么巨头都喜欢? 这要归功于Django海量的自带工具和功能组件,开发者可借此迅速搭建Web应用。且Django的Model层自带数据库ORM组件,即使不懂SQL也不影响数据库操作。 凭借自带的后台管理,开发者仅需少量代码就可实现完整的后台数据管理。其APP可插拔的设计理念,使得系统可维护性 阅读详情

Python 由 Guido van Rossum 在 1990 年代初期创建,多年来越来越受欢迎。2016 年,Python 是继 Java、C 和 C++ 之后的第四大流行语言。Python 是一种通用编程语言,可用于各种领域。引用树屋的肯尼斯·洛夫的话——

当我需要构建一个 Web 应用程序时,我会使用 Python。当我需要在我的系统上自动化一些小任务时,我会使用 Python。当我想在图像中找到最常见的颜色时,我会使用 Python。

Python 是编写用于测试和监控的脚本的流行选择。Python 也被用于游戏开发,它与其他语言集成的能力使其在这个过程中非常有价值。Python 如此受欢迎,乔治·卢卡斯 (George Lucas) 的工业光魔 (Industrial Light and Magic )(负责原《星球大战》三部曲中的特效)也使用它来管理其复杂的生产过程。

与 PHP 不同,它不是为 Web 构建的,也没有集成到 Python 中的核心 Web 功能。因此,我们必须使用 Web 框架在 Python 中开发 Web 应用程序。自从 Django 等流行框架兴起以来,Web 开发人员就开始将它用于 Web。

是什么让 Python 成为如今越来越多的开发人员在 Web 开发方面的首选语言?我们将尝试在这篇文章中找到这个问题的答案。

为什么要使用 Python?

适合初学者的 Python

Python 流行的主要原因是代码的优雅——尤其是简洁和可读性。例如,让我们看看 Python 和 Java 在反转数字方面是如何相互叠加的:

Java 与 Python

在 Java(左)和 Python 2.7.x(右)中反转数字的程序

Python 提供了较短的学习曲线,非常适合初学者学习。除此之外,如果您的项目是基于 Python 的并且新开发人员不熟悉它,那么过渡会更容易。

正如Quora 联合创始人 Adam D'Angelo在选择 Python 进行 Quora 开发时所说的那样——

到目前为止,我们对这个选择非常满意……过去使用其他语言的所有早期员工都乐于过渡到 Python,尤其是那些来自 PHP 的员工。

事实上,网络漫画xkcd制作了一幅漫画,讲述了用 Python 完成工作是多么容易!

xkcd 的 Python 网络漫画。 来源:xkcd.com

此外,Python 具有易于使用的调试工具。尽管有多种调试器和 IDE 工具,但默认的是pdb,这是一种交互式调试工具,允许开发人员在中途停止程序的执行并评估环境以更好地了解运行时错误。

远程服务器上的 Python

在 Python 中管理包(或称为模块)也非常容易。使用 pip 或 easy_install 之类的包安装程序,它可用于安装和删除包。

Python 也非常便携!将开发环境转移到远程机器上的便利性是值得称赞的。您只需要导出这些包,然后使用两个命令将其安装在远程机器上的虚拟环境中。

Python 成为 Web 应用程序的好选择的另一个原因是能够运行未嵌入到 Web 服务器的脚本(与运行 PHP 脚本不同)。脚本作为单独的进程运行。

使用 Python Web 框架进行 Web 开发

Python 的 Web 功能并未内置于其核心特性中,因此,我们需要借助模块来启用 Python 中的 Web 开发。如果你想开发非常基本的应用程序——比如检查服务器是否在运行的页面——你可以使用cgi 模块。

随着需求的增加,人们需要迁移到像Django或Flask这样的 Python 框架,以便能够开发基于 Web 的复杂应用程序。

出于生产目的,这些框架中的大多数都需要与Apache之类的 Web 服务器相结合,而这是存在小瓶颈的地方。与 PHP 相比,如果您是第一次在远程 Web 服务器上进行部署(尽管我们也已经介绍过),那么在远程 Web 服务器上部署的简单性会有些困难。但是,您投入的时间肯定会在以后获得回报。

Instagram、Reddit、Quora和Disqus等流行服务都是使用 Python 开发的。

Django — 最流行的 Python Web 框架

一个问题自然产生:为什么要使用 Python 进行 Web 开发?我的回答是首先停止认为它只是使用“Python”进行 Web 开发。像 Django 和 Flask 这样的框架使 Python 中的 Web 开发功能如此丰富和强大。例如,与任何其他 Web 框架相比,以下是 Django 做得非常好的一些事情:

  • 易学曲线。就像 Python 一样,Django 很容易学习。你只需要在 Django 的网站上阅读这个分步教程,它很好地解释了 Django 的基本特性。另一方面,学习 Ruby on Rails 之类的东西可能需要更长的时间。
  • 自动创建 SQL 表。一旦您指定了结构,Django 就会为您执行此操作。(注意:SQLAlchemy 也是这样做的,如果你感兴趣的话,Hacker News 上有关于这个的激烈辩论。)
  • 生成表格。在 Django 中创建 Form 类并将其链接到模型后,Django 中的表单生成器会负责呈现表单、数据验证和保存数据。
  • 管理界面。就像 SQL 表一样,一旦你决定了结构,Django 就会创建一个管理界面,允许你管理数据库。(这就像 Django 中内置的 PhpMyAdmin。)
  • 姜戈壳。Django 项目环境中的 Python shell 是 Django shell 提供的。这个特性在调试时很有用,在 PHP 中是比较难的。

如果这些还不够,那么 Python 正在进行前沿开发。Python 中两个令人兴奋的服务是Tornado(用于异步任务)和Celery(用于作业调度)。如果它们满足您的需求,您可能想查看它们。

Django 虚拟主机

开始使用 Django 的最大障碍是网络主机的可用性。显然,由于 PHP 的流行,主机数量较多,主机相对便宜(但不一定物有所值,因为便宜的主机通常是共享的)。然而,像 AWS 和 Heroku 这样的主机允许你免费托管你的 Django 应用程序(在一定的限制内)。对于价格实惠的共享主机,您可以选择像WebFaction这样的主机。

当今最流行的云托管服务,如AWS、Digital Ocean和Microsoft Azure,提供对服务器的 root 访问权限,允许您手动设置环境。Digital Ocean,其实已经想出了一键式 Django 部署。Django 主机可能不像 PHP 主机那样受欢迎,但可以使用不同定价水平的可靠选项。

最后的想法

这篇文章的目的不是告诉你 Python 是所有问题的解决方案!它是为了突出 Python 及其 Web 框架的参数,使 Web 开发人员的生活更轻松。如果对Python有兴趣,想了解更多的Python以及AIoT知识,解决测试问题,以及入门指导,帮你解决学习Python中遇到的困惑,我们这里有技术高手。如果你正在找工作或者刚刚学校出来,又或者已经工作但是经常觉得难点很多,觉得自己Python方面学的不够精想要继续学习的,想转行怕学不会的, 都可以加入我们,可领取最新Python大厂面试资料和Python爬虫、人工智能、学习资料!微信公众号【Python大本营】等你来玩奥~

您以前尝试过 Python 及其 Web 框架吗?请在下面的评论中告诉我们。

Django教程(为什么选择Django框架) 为什么选择Django框架作为web开发 阅读详情

相关推荐

基于Django框架的网络选课管理系统

摘要: 本学期学习了python,迫切的需要一个项目去巩固学习到的知识,选择了用python语言,基于Django框架来开发一个WEB网站。最后经过考虑决定设计开发一个网络选课管理系统,提供给老师上传课程、管理课程信息,提供给学生进行网上选课。在进行了需求分析和系统的可行性分析之后,对系统中的管理员、教师模块部分、学生模块部分和数据库进行了概要和详细的设计。 1. 引言 1.1 项目目的 现在信息管理系统的开发, 是为满足我国现今大多学校对学生管理的信息化、网络化、可视化管理的强烈需求。通过本课题的研究,目

负吾键来的博客 3230

2024年Python最全网络上的 Python:为什么像 Django 这样的框架很热门

在 Java(左)和 Python 2.7.x(右)中反转数字的程序Python 提供了较短的学习曲线,非常适合初学者学习。除此之外,如果您的项目是基于 Python 的并且新开发人员不熟悉它,那么过渡会更容易。正如在选择 Python 进行 Quora 开发时所说的那样——到目前为止,我们对这个选择非常满意……过去使用其他语言的所有早期员工都乐于过渡到 Python,尤其是那些来自 PHP 的员工。事实上,网络漫画制作了一幅漫画,讲述了用 Python 完成工作是多么容易!

2401_84563179的博客 698

spokes:dart的Django启发框架

辐条 一个受启发的dart框架。 正在安装 请参阅以安装命令行工具。 API文档 该API可以在找到。 教程 请参阅 并尝试

为什么学Django及Django的未来在哪里?

Django 3.2下月就要正式发布了, 官方扩展支持会延续到2024年。为此我将以此版本为蓝本全面更新数年前发表的Django基础、高级及实战教程。本文是基础系列文章的第一篇,在个人博...

大江狗 7850

Time-Interleaved Analog-to-Digital Converters

  这篇论文提供了时间交错模数转换器的教程回顾。在解释了偏置、增益、定时和其他不匹配对变换器性能的影响后,给出了目前解决不匹配问题的方法。论文最后总结了时间交错模数转换器的现状。 1.简介   时间交错模数转换器(ADC)将多个子ADC组合成一个ADC系统,可以实现比单独的子ADC[1]更快的采样速率。历史上,时间交错adc的主要缺点是需要紧密匹配子adc[2]的特性。近年来,由于应用需要非常宽带信号的数字化、功率高效子adc的可用性以及由深亚微米互补金属氧化物硅(CMOS)技术实现的微调技术,使得时间交错

weixin_44537056的博客 6733

[kriging](一)网上下载的kriging克里金的C++程序的初步调试

笔者在网上下载了一份克里金的C++程序,水平有限,正在逐步地调试中。 初步 克里金法现在在许多软件都已经有集成了,据笔者所知: arcgis : 看过有的arcgis培训视频里面简略介绍了里面的插值方法,有克里金。 surfer :笔者用过这个,效果很好。 gocad :听说有 landmark &jason :研究生时候用的专业的石油物探软件,里面有克里金法,万恶的开始。 pykrig...

FOREST优快云 5612

2021年Django Web开发框架依然值得选择吗?

好文推荐,原作:Łukasz Michalak,2020年7月发表于10Clouds,大江狗原创翻译。Django已经15岁了!我们中许多已经工作多年的人几乎无法相信它的年龄。基于Pyt...

大江狗 1万+

OpenCV实战:5分钟搞定图像拼接(附Python代码)

本文通过OpenCV实战教程,详细讲解如何使用Python在5分钟内完成图像拼接。重点介绍`findHomography`函数和单应性矩阵的应用,提供完整的代码示例和常见问题解决方案,帮助开发者快速掌握图像拼接技术。

weixin_26833503的博客 121

[不完全转载]Django+VUE+Axios实现IOT小demo

开篇废话: 恬不知耻地标了原创,厚颜无耻地说实现了,其实只是进步一点点而已。标题只是个标题,别认真 感谢各位网上大佬博客的帮忙,我才写出此篇,文中有摘抄的部分,定会写明出处,侵删! 先上图,效果是这样的,就是个数据展示 就是一堆传感器,放在工厂里,数据是终端虚拟的 进入正题 HelloWorld.vue <template> <div class="hello"> ...

江东风又起 1562

ElementUI中的el-table解决宽度问题 - 根据内容自动撑开

在使用element-ui中,会发现表格组件el-table在未指定宽度情况下,会自动计算并给表格宽度赋值。但实际开发中,有时需要根据内容实际长度自动撑开显示,由内容的多少而决定表格的宽度,而不是默认宽度为100%。在默认情况下表格宽度为100%显示,并且列项未指定宽度情况下,剩余部分会平均分配宽度,本案例实际需求是由内容自动撑开显示。componentUpdated

觉醒法师的专栏 1万+

FastAdmin框架Token验证实战:从登录到API调用的完整流程

本文详细解析了在FastAdmin框架中实现Token验证的完整流程,从数据表设计、登录接口签发Token,到核心验证中间件的编写与路由配置,并探讨了在业务API中的调用与安全实践。内容涵盖Token生成策略、有效期管理及安全增强措施,为开发者提供了一套可落地的API身份验证解决方案。

nnn11的博客 918

网络上的 Python:为什么像 Django 这样的框架很热门(2)

化!**

2401_84008965的博客 883

UE5 SplineMesh与StaticMesh性能对比:生成1000米路径的帧率与内存实测

本文深度对比了UE5中SplineMesh与StaticMesh在生成1000米路径时的性能差异,包括帧率、内存占用及实现复杂度。实测数据显示,SplineMesh在Draw Call优化和动态变形场景中表现更优,而StaticMesh适合需要复杂材质变化的场景。文章还提供了优化技巧和选型指南,帮助开发者根据项目需求做出科学决策。

weixin_33976326的博客 319

网络上的 Python:为什么像 Django 这样的框架很热门(1)

Python 的 Web 功能并未内置于其核心特性中,因此,我们需要借助模块来启用 Python 中的 Web 开发。Python 成为 Web 应用程序的好选择的另一个原因是能够运行未嵌入到 Web 服务器的脚本(与运行 PHP 脚本不同)。除此之外,如果您的项目是基于 Python 的并且新开发人员不熟悉它,那么过渡会更容易。过去使用其他语言的所有早期员工都乐于过渡到 Python,尤其是那些来自 PHP 的员工。这样的 Python 框架,以便能够开发基于 Web 的复杂应用程序。

2301_76323084的博客 477

华为设备OSPF配置全流程:从邻居关系到区域划分实战指南

本文详细介绍了华为设备上OSPF协议的完整配置流程,从基础概念到实战操作,包括邻居关系建立、多区域划分及高级特性配置。特别针对华为设备的特有语法和验证命令进行了重点讲解,帮助网络工程师快速掌握OSPF在华为环境中的部署与优化技巧,提升网络配置效率。

weixin_29299807的博客 251

计算机视觉安防监控升级:人脸识别与行为异常检测

计算机视觉安防监控升级:人脸识别与行为异常检测 ,人工智能,计算机视觉,大模型,AI,本文将深入探讨人脸识别与行为异常检测技术在安防监控中的应用,包括技术原理、算法实现、应用场景以及面临的挑战与解决方案。通过实际案例和代码示例,帮助读者更好地理解和掌握这些技术,为推动安防监控系统的智能化升级提供参考。

不踩坑,不知道坑有多深;不总结,踩过的坑白踩。 23万+

python网络框架——Django、Tornado、Flask和Twisted

Django、Tornado和flask是全栈网络框架,而Twisted更专注于网络底层的高性能封装,不提供HTML模版引擎等界面功能,因此不能称为全栈框架。

weixin_42209537的博客 2087

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

深度解析 Python 网络框架:Django、Tornado、Flask 和 Twisted

Python 作为一门优秀的高级语言,广泛应用于 Web 开发、数据科学、人工智能等领域。其中,网络框架是构建高效 Web 应用和服务的基础工具。Django、Tornado、Flask 和 Twisted 是 Python 生态中四个非常流行的网络框架,它们各自具有独特的特性和应用场景。 本文将从框架的特点、应用场景、优劣势、使用示例和对比分析等角度,帮助读者深入了解这四个框架,并在实际项目中选择最适合的解决方案。

fudaihb的博客 2938

Probability and Statistics - 4th edition

Probability and Statistics - 4th edition

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

Django框架之python后端框架介绍

特点: 大而全,自带的功能特别特别特别的多,类似于百科全书不足之处:有时候过于笨重。

Xiao20000101的博客 1671

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

Python Web框架:Django

Python Web框架:Django简介,Django的安装使用,Django项目目录结构介绍,Django管理工具等

偶是不器的博客 4718

【Python项目】基于Django框架的反爬技术的设计

从爬虫技术的角度来看,当人们在网络上浏览信息时,对于公开的信息是可以直接访问的,网络上的数据是公开透明的,允许用户获取。而爬虫技术不断占用服务器空间,消耗相应的流量和活跃度,实际上大量的爬虫就是信息的复制工具,导致大量同类信息在网络上传播,造成服务器资源的浪费。网络数据采集是当前信息快速传播的一种方式,随着流量时代的到来,人们为了追求热点资讯和流量带来的红利,不断利用爬虫技术爬取他人的新闻稿件和时事新闻,通过爬取信息进行传播,导致网络爬虫在当前网络中非常猖獗,实际上对网络环境造成了一定的损害。

Dyan_csdn的博客 1859
上一篇: Python初学者面临的5个常见问题
下一篇: Python 趋势:当今最热门语言的热门话题
程序员孔乙己
博客等级 码龄5年 1190粉丝 81原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值