1. Flask介绍

Flask是一个基于Python的微型的web开发框架。虽然Flask是微框架,不过我们并不需要像别的微框架建议的那样把所有代码都写到单文件中。毕竟微框架真正的含义是简单和短小。

关于Flask值得知道的一些事:

Flask由Armin Ronacher于2010年创建。

Flask的灵感来自Sinatra。(Sinatra是一个极力避免小题大作的创建web应用的Ruby框架。)

Flask 依赖两个外部库:Jinja2模板引擎和WerkzeugWSGI 工具集。

Flask遵循“约定优于配置”以及合理的默认值原则。

默认情况下,Flask 不包含数据库抽象层、表单验证或是任何其它现有库可以胜任的东西。作为替代的是,Flask 支持扩展来给应用添加这些功能,如同是在 Flask 自身中实现。众多的扩展提供了数据库集成、表单验证、上传处理、多种开放认证技术等功能。

Flask 数目众多的配置选项在初始状况下都有一个明智的默认值,并遵循一些惯例。 例如,按照惯例,模板和静态文件存储在应用的 Python 源代码树下的子目录中,名称分别为 templates 和 static 。虽然可以更改这个配置,但你通常不必这么做, 尤其是在刚接触 Flask 的时候。

2. Flask安装

你首先需要 Python 2.6 或更高的版本,所以请确认有一个最新的 Python 2.x 安装。

virtualenv

virtualenv 允许多个版本的 Python 同时存在,对应不同的项目。 它实际上并没有安装独立的 Python 副本,但是它确实提供了一种巧妙的方式来让各项目环境保持独立。

如果你在 Mac OS X 或 Linux下,下面两条命令可能会适用:

$ sudo easy_install virtualenv

或更好的:

$ sudo pip install virtualenv

上述的命令会在你的系统中安装 virtualenv。它甚至可能会存在于包管理器中,如果你使用 Ubuntu ,可以尝试:

$ sudo apt-get install python-virtualenv

现在你只需要键入以下的命令来激活 virtualenv 中的 Flask:

$ pip install Flask

全局安装

这样也是可以的,只需要以 root 权限运行 pip:

$ sudo pip install Flask

3. Flask入门

一个最小的 Flask 应用看起来是这样:

from flask import Flask

app = Flask(__name__)

@app.route('/')

def hello_world():

return 'Hello World!'

if __name__ == '__main__':

app.run()

把它保存为 hello.py(或是类似的),然后用 Python 解释器来运行。

$ python hello.py

* Running on http://127.0.0.1:5000/

现在访问http://127.0.0.1:5000/

我们来解释一下上面的代码吧:

第一行导入了Flask类,以便创建一个Flask应用的实例。

接下来一行我们创建了一个Flask类的实例。这是一个WSGI应用实例。WSGI是”Web服务器网关接口”Web Service Gateway Interface)的缩写,同时也是架设web项目的Python标准。这一行要告诉Flask到哪里去找应用所需的静态资源和模板。在我们的例子中,我们传递了name,让Flask在当前模块内定位资源。

接着我们定义了一些关于/的路由。第一个路由是为根路径/准备的,第二个则对应于类似/shekhar、/abc之类的路径。对于/路由,我们将初始的name设定为Guest。如果用户访问http://localhost:5000/,那么他会看到Hello Guest。如果用户访问http://localhost:5000/shekhar,那么他会看到Hello shekhar。

最后我们用 run() 函数来让应用运行在本地服务器上。 其中if __name__ == '__main__': 确保服务器只会在该脚本被 Python 解释器直接执行的时候才会运行,而不是作为模块导入的时候。

如果你禁用了 debug 或信任你所在网络的用户,你可以简单修改调用 run() 的方法使你的服务器公开可用,如下:

app.run(host='0.0.0.0')

这会让操作系统监听所有公开的IP。

有两种途径来启用调试模式。一种是在应用对象上设置:

app.debug = True

app.run()

另一种是作为 run 方法的一个参数传入:

app.run(debug=True)

4. 总结

本文简单介绍了Flask框架的安装和使用,如果你想要深入研究 Flask 的话,可以查看API。

python框架flask_Python开发框架Flask-阿里云开发者社区相关推荐

  1. python单元测试断言_Python单元测试框架之pytest -- 断言-阿里云开发者社区

    对于测试来讲,不管是功能测试,自动化测试,还是单元测试.一般都会预设一个正确的预期结果,而在测试执行的过程中会得到一个实际的结果.测试的成功与否就是拿实际的结果与预期的结果进行比较.这个比的过程实际就 ...

  2. python如何实现共享报表系统_使用python来实现报表自动化-阿里云开发者社区

    xlwt 常用功能 xlrd 常用功能 xlutils 常用功能 xlwt写Excel时公式的应用 xlwt写入特定目录(路径设置) xlwt Python语言中,写入Excel文件的扩展工具.可以实 ...

  3. python消费datahub_DataHub使用指南-阿里云开发者社区

    快速入门教程 1.开通DataHub ? 使用DataHub的第一步,首先点击开通DataHub 2.创建Project和 Topic 创建Topic方式解读,Tuple还是Blob? Tuple支持 ...

  4. python语言打小数点_如何在python中打小数点-问答-阿里云开发者社区-阿里云

    python提供了三种浮点值:内置的float与complex类型,以及标准库的decimal.Decimal类型. float类型存放双精度的浮点数,具体取值范围依赖于构建python的c编译器,由 ...

  5. python从键盘输入列表有缺陷_程序员必知的Python陷阱与缺陷列表-阿里云开发者社区...

    代码看起来可以工作,但不是以你"想当然""的方式.如果一段代码直接出错,抛出了异常,我不认为这是陷阱.比如,Python程序员应该都遇到过的"UnboundLo ...

  6. 从python菜鸟到kaggle_Kaggle首次定义数据科学家:30岁,年薪5万刀,爱Python,最恨脏数据-阿里云开发者社区...

    今日凌晨,全球最大的数据科学社群Kaggle发布了第一份数据科学/机器学习业界现状调查报告.这份调查问卷的受访者囊括了来自50多个国家的16,000+位从业者,根据他们的问卷结果,Kaggle给出了一 ...

  7. python复工_手把手教你使用Python批量创建复工证明-阿里云开发者社区

    /1 前言/ 受疫情影响,2020年2月份.3月份企业复工需为员工开具复工证明.因本公司人数较多,复制粘贴工作量巨大,特此为行政同事写此小工具,现与诸位共享. /2 目标/ 1.实现批量将 Excel ...

  8. 杭州内推 | 阿里云开发者社区招聘计算机视觉算法工程师(2022年毕业生)

    合适的工作难找?最新的招聘信息也不知道? AI 求职为大家精选人工智能领域最新鲜的招聘信息,助你先人一步投递,快人一步入职! 阿里云 阿里巴巴集团拥有海量的图像/视频数据,强大的计算能力和巨大的市场空 ...

  9. a记录 mysql_[a]-和[a]相关的内容-阿里云开发者社区

    HDOJ 1202 The calculation of GPA Problem Description 每学期的期末,大家都会忙于计算自己的平均成绩,这个成绩对于评奖学金是直接有关的.国外大学都是计 ...

最新文章

  1. 比特币现金网络遭攻击?BCH粉丝:放马过来吧!
  2. python格式化字符串漏洞_Python新型字符串格式漏洞分析及解决方案
  3. 有什么事情是你当了程序员之后才知道的?
  4. Gartner发布2022年政府行业主要技术趋势:XaaS、数字化、超自动化等
  5. 使用Linux创建自己的视频流服务器
  6. C++与Java语法上的不同,互联网 面试官 如何面试
  7. 首次击败美国!2019《财富》世界500强公布:129家中国公司上榜
  8. docker 运行mysql镜像_docker 生成mysql镜像启动时自动执行sql
  9. 前端每日实战:73# 视频演示如何用纯 CSS 创作一只卡通狐狸
  10. VS+VSS代码管理
  11. Frida系列--自动化生成脚本
  12. Spring-IoCDI
  13. element-ui 输入框的前后缀图标 prefix-icon 和 suffix-icon
  14. android白色暗色主题,使用Kotlin开发Android应用(12) - Dark theme 暗色主题
  15. Python 中创建 PostgreSQL 数据库连接池
  16. 微软:12代酷睿处理器,须升级win11才能发挥出最大的性能
  17. 图像采集——偏振光源消除镜面反光
  18. vue中style scoped属性的作用和原理以及scoped穿透
  19. 下载安装WindowBuilder插件教程
  20. 搭建关卡修、向管卡放置物体、改天空颜色

热门文章

  1. 专有网络 VPC > 快速入门 > 网络规划
  2. windows快速关闭有效方法2则
  3. Linux学习总结(26)——Shell常用命令总结
  4. 将报表模板中数据集的数据源名称与服务器中的数据源名称修改一致.,连接数据库,服务器端的几个常见错误...
  5. 深入浅出分布式存储的设计与优化之道
  6. 学习Java笔记2018.3.31
  7. Spring Boot的自动配置的原理
  8. hadoop安装小记
  9. myeclipse从svn检出代码转成maven后格式有误解决方法
  10. Math.ceil()函数