文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

Python微型Web框架Flask快速入门

2024-12-03 00:57

关注

Flask是什么

如果说Django是一个开箱即用的自带完善功能的Web框架,那么Flask就是一个只提供基础结构的微型框架。这一点从它的GitHub源码就能看出端倪:

它的核心代码就只有这么多。微型意味着Flask本身只提供了简单的核心的功能,但它具备了强大的可扩展性。比如,它不会强制你使用某个ORM框架,而是把选择权交给你,让你自己决定集成哪个扩展。

无论如何,都应该学习一下Flask,因为它让你从零开始,了解一个Web框架是如何诞生的:

安装Flask

Flask需要Python3.6及以上才能使用,最新的async异步支持需要Python3.7及以上。

安装Flask前可以先创建一个虚拟环境,这样相关的包都放在这个虚拟环境中。

Mac用户:

  1. # 创建 
  2. $ mkdir myproject 
  3. $ cd myproject 
  4. $ python3 -m venv venv 
  5. # 激活 
  6. $ . venv/bin/activate 

Windows用户:

  1. # 创建 
  2. > mkdir myproject 
  3. > cd myproject 
  4. > py -3 -m venv venv 
  5. # 激活 
  6. > venv\Scripts\activate 

然后就通过pip安装Flask即可:

  1. $ pip install Flask 

Hello World

Flask是一个Web框架,更准备的说是一个提供接口的后端服务,只需要5行代码就能实现一个接口:

  1. from flask import Flask 
  2.  
  3. app = Flask(__name__) 
  4.  
  5. @app.route("/"
  6. def hello_world(): 
  7.     return "

    Hello, World!

    "
     

 

截止到目前,还没见过哪个Web框架是这么玩的,有点颠覆对Web框架的认知,印象中的Web框架都是有点庞大的,Flask却很轻巧的就实现了。

运行后会在控制台输出:

  1. set FLASK_APP=hello 
  2. > flask run 
  3.  * Running on http://127.0.0.1:5000/ 

浏览器访问http://127.0.0.1:5000/就会看到Hello, World!字样。

代码解析

这几行代码会做这4件事:

  1. from flask import Flask,Flask类的实例就是一个WSGI应用,这样才能跑起来。
  2. app = Flask(__name__),参数__name__是模块或包名,这样Flask才能去查找Web相关文件。
  3. @app.route("/"),定义了接口的URL,也就是路由配置,默认是GET方法。
  4. hello_world()函数是具体的接口处理逻辑代码,返回了一个HTML字符串。

小结

本文简单介绍了Flask是什么,怎么安装Flask,演示了Hello World的代码实现Demo,并对代码进行了解析。为什么一定要学Flask呢?我最近看了一篇Django vs Flask的最新的比较文章,原文是国外某个博客发的,里面说道,如果你想在当前快速实现某个需求,那么可以选择使用Django。但是请你有时间务必回过头来学一下Flask,因为这样才能知道用Python做Web开发的所有细节。

参考资料:

https://flask.palletsprojects.com/en/2.0.x/

https://flask.palletsprojects.com/en/2.0.x/foreword/

https://flask.palletsprojects.com/en/2.0.x/installation/

 

https://flask.palletsprojects.com/en/2.0.x/quickstart/

 

来源:dongfanger内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-后端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯