Python Web开发主流框架

Web 开发是Python 语言应用领域的重要部分,也是工作岗位最多的领域。如果你对基于Python的Web 开发有兴趣,正打算使用Python 做Web 开发,或者已经是一个Web 开发者有工作需要,要做自动化运维、数据的图形化展示等,那么学习一门基于Python的Web 开发框架是必修课。

Python作为当前最火爆最热门,也是最主要的Web 开发语言之一,在其近三十年的历史中出现了数十种Web 框架,比如Django、Tornado、Flask、Twisted、Bottle 和 Web.py 等,它们有的历史悠久,有的发展迅速,还有的已经停止维护。

Django

  • 诞生于2003年,是Python 世界里最负盛名、用户最多、使用范围最广、最成熟的Web 框架,最初被用来制作在线新闻的Web站点。Django 的各模块之间高效集成,提供了丰富的开发工具,以一站式服务闻名,其文档健全,社区活跃,开发者在遇到问题时能迅速找到解决办法。

Tornado

  • 一个强大的、支持协程、高效并发且可扩展的Web 服务器,发布于2009年9月,应用于 FriendFeed、Facebook 等社交网站。它的强项在于可以利用异步协程机制实现高并发的服务,但在其它方面则有些薄弱。

Flask

  • 诞生于2010年,它吸收了其他框架的一些优点并且把自己的主要领域定义在了微小项目上,以短小精干,简洁明了著称。通常我们在临时需要的时候,会随手写几行代码,使用Flask 快速启动一个Web 网页,做一些验证性的工作。

Twisted

  • 它不像前三者着眼于Web 应用开发,而是适用从传输层到自定义应用协议的所有类型的网络程序的开发,并能在不同的操作系统上提供很高的运行效率。

有那么多的Web 框架,我们显然没有精力全都学一遍,也不可能全部精通,必然要有所取舍,那么该如何选择呢?有哪些可以参考的选择依据呢?

  • 选择更主流的框架。主流框架的用户多、文档更齐全,技术文献积累更多,社区更繁盛,能得到更好的帮助和支持。
  • 选择更活跃的框架。关注项目的版本迭代速度、在 GitHub 中的更新频率、Issue和Pull Request 的响应情况。如果一个项目长期没有更新,或者有一堆的问题需要解决但是没有得到响应,就不应该是你学习的对象。
  • 选择能够满足需求的框架。没有最好的框架,只有更合适的框架。你所选择的Web 框架不仅需要满足当前的需求,还要充分考虑项目发展一段时间后的情况,即适用性和可拓展性,避免盲目选择而导致将来推倒重来的情况。
  • 选择时效性好的框架。在学习和使用框架的时候经常需要查阅和参考各种网络上的文章、博客和教程,但是需要注意它们的发表时间。有些框架的相关文章已经很老,很久没更新了,应该放弃这种框架。有的框架一直以来都有不断的新文章、新博客出现,是比较不错的选择。
  • 选择入门友好的框架。详细的技术文档、官方教程对新手来说都是极大的帮助和鼓励。

根据以上的几条原则推荐大家从 Django 始学习基于Python 的Web 开发!

作为最知名、应用最广泛、功能最全面的Web 框架,它能够满足从小型到大型项目的渐进式开发,提供admin 后台、用户和权限管理、缓存、数据库迁移等各种功能,包含大量的组件和常用工具。Django 在GitHub 上非常活跃(https://github.com/django/django)其Star 66K,版本迭代速度也非常快,网络上的学习和参考文献非常多。

Flask可以比作“DIY组装台式机”,性能优良、快速简单、自定义灵活,但是你得要知道如何搭配模块,如何组装各部件,如何更换模块等等,一旦你某个环节处理得不是那么优秀,就会成为整个项目的痛点。与之不同的是,Django 有着完整的工具链,各个模块之间综合集成,配合度好,可以比作“苹果一体机”,你不用管它内部组件是如何搭配,如何安装的,直接开机使用就好了,并且保证安全可靠、性能优异。


想要熟练地使用Django 进行工作,开发生产环境可用的,能够应对一定规模访问量的Web 应用,开发者要学会的远远不止Django 本身。Linux 管理、Python 基础、环境搭建、前端语言、RESTFul API 设计、网站架构、系统管理、服务部署、持续集成、数据库管理、并发处理等等,都是相关的知识领域,包括并且不限于以下的内容

  • Python 语言本身
  • 前端HTML、CSS、Javascript 等语言
  • 数据库、缓存、消息队列等技术
  • 日常使用Linux或Mac 系统工作(Windows 属于标配)
  • 性能优化经验,能快速定位问题

除此之外,还要对业务有深刻理解,能够写出可维护性足够高的代码。当然,以上都是对经验丰富的开发者而言,对于新手刚入门者,我们朝着这个目标努力学习就好。

 

基于Python的Web开发技术栈

Python Web开发主流框架

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Python Web开发主流框架 - Python技术站

(0)
上一篇 2023年4月2日 下午5:03
下一篇 2023年4月2日

相关文章

  • Django 使用cmd 创建工程

    一、Django 安装 1 通过pip安装 Django 如果你是通过升级的方式安装Django,那么你需要先卸载旧的版本。 Django 提供3种发行版本,推荐使用官方的稳定版本: 你的操作系统提供的发行版本(Linux) 官方稳定版本(推荐) 开发测试版本 Django 本质上是Python 语言的一个类库,因此可以通过pip 工具安装。这也是最简便、最…

    2023年4月2日
    00
  • Django request对象

    request对象       request.method         # 获取当前的请求方式,并且返回的是全大写的字符串 print(request.POST.get(‘hobby’))   # 只能接收最后一个 print(request.POST.getlist(‘hobby’))  # 接收多个 request.GET.get(‘name’) …

    Python开发 2023年4月2日
    00
  • Django 之模版层

    一、模板简介 将前端页面和Python 的代码分离是一种的开发模式。 为此 Django专门提供了模板系统 (Template System,即模板层)来实现这种模式。 Django 的模板 = HTML代码 + 模板语法 存放于 templates 目录下的 html文件称之为模板文件,要返回的 html页面中的数据是动态的,那么必须在 html页面中嵌入…

    Python开发 2023年4月2日
    00
  • Django ORM 事务和查询优化

    一、事务操作 模块 from django.db import transaction 1 开启事务:with transaction.atomic() from django.db import transaction class MyView(View): def post(self, request): ### 在with代码块中开启事务,出了with…

    Python开发 2023年4月2日
    00
  • Django 测试脚本

    一、测试脚本 Django 在创建项目时自动在应用下创建了tests.py,这个py文件可以作为测试文件;也可以在应用下手动创建一个py测试文件。 无论哪种方式,都需要提前书写以下代码。 from django.test import TestCase # Create your tests here. import os “””Run administra…

    2023年4月2日
    00
  • Django django-admin.py 命令详解

    一、Django 基本命令 下载 Django pip3 install django     # 默认下载最新版 pip3 install django==4.1  # 手动选择版本   创建Django 项目 格式:django-admin startproject 项目名 django-admin startproject mysite   创建APP…

    2023年4月2日
    00
  • Django 聚合分组F与Q查询及choices

    一、聚合查询 需要导入模块:from django.db.models import Max, Min, Sum, Count, Avg 关键语法:aggregate(聚合结果别名 = 聚合函数(参数)) 查询结果:使用聚合函数,从每一个组中获取结果:字典 注意点: 1 聚合函数必须在分组之后才能使用 2 没有分组,即默认整体就是一组 3 查询结果为 普通字…

    Python开发 2023年4月2日
    00
  • Django ORM 常用字段和参数

    一、models中的常用字段类型 字段类型 类型 说明 AutoField 自动增长的 IntegerField,通常不用指定,不指定时Django会自动创建属性名为 id 的自动增长属性。 BooleanField 布尔字段,值为True 或 False NullBooleanField 支持Null、True、False三种值 CharField 字符串…

    Python开发 2023年4月2日
    00
合作推广
合作推广
分享本页
返回顶部