Pyhon Flask框架:第一个Flask程序

目录
  • 创建Flask项目
  • app.py介绍
  • 运行Flask程序
  • 总结

Flask框架介绍

Flask诞生于2010年,是Armin ronacher用Python语言基于Werkzeug工具箱编写的轻量级Web开发框架,其本身相当于一个内核,其他几乎所有的功能都要用到扩展,都需要第三方的扩展来实现。

其WSGI工具箱采用Werkzeug(路由模块),模板引擎则使用Jinja2,这两个也是Flask框架的核心,它们分别负责业务处理和安全方面的功能。其中:

  • Werkzeug库:支持URL路由请求集成,一次可以响应多个用户的访问请求;支持Cookie和会话管理,通过身份缓存数据建立长久连接关系,并提高用户访问速度;支持交互式Javascript调试,提高用户体验;可以处理HTTP基本事务,快速响应客户端推送过来的访问请求。
  • Jinja2库:支持自动HTML转移功能,能够很好控制外部黑客的脚本攻击。

Flask框架的作用

那么Flask框架的作用是什么呢?

Flask是一个Web框架,它的作用主要是为了开发Web应用程序,Web大家应该都了解,就是网页,所以我们学完了Flask就可以自己写个小网站了。

除了Flask框架,Python还有很多web框架,例如Django,Tormado框架等,其中最出名的框架是Django,最灵活的框架算是Flask。

Flask框架常用扩展包

刚才说了,Flask本身相当于一个内核,其他几乎所有的功能都要用到扩展,都需要第三方的扩展来实现。

那么它常有的扩展包有哪些呢?

  • Flask-SQLalchemy:操作数据库;
  • Flask-script:插入脚本;
  • Flask-migrate:管理迁移数据库;
  • Flask-Session:Session存储方式指定;
  • Flask-WTF:表单;
  • Flask-Mail:邮件;
  • Flask-Bable:提供国际化和本地化支持,翻译;
  • Flask-Login:认证用户状态;
  • Flask-OpenID:认证;
  • Flask-RESTful:开发REST API的工具;
  • Flask-Bootstrap:集成前端Twitter Bootstrap框架;
  • Flask-Moment:本地化日期和时间;
  • Flask-Admin:简单而可扩展的管理接口的框架。

创建Flask项目

简单地了解了Flask框架是什么,其作用是什么,现在我们开始创建一个Flask框架项目,这里我们推荐用PyCharm,不要问为什么,问就是方便、好用。

首先打开PyCharm,创建我们第一个Flask项目,如下图所示:

一般情况下,我们只需要修改一下项目名和选择Python编译器即可点击Create,点击后,我们再点击This Window,这样我们就成功创建了一个Flask框架项目,如下图所示:

其中:

  • static是静态文件夹,里面可以放js,css等文件;
  • templates是模板文件夹;
  • venv是虚拟环境文件夹,里面放着我们pip安装的库和一些模块、包;
  • app.py是启动程序。

创建完项目后,我们查看当前项目已经安装了哪些包,执行代码如下:

pip list

执行结果如下图所示:

每个人执行的结果可能不一样,可能会少了或多了一两个包,但没关系,当我们需要的时候,再去安装即可。

app.py介绍

接下来我们来介绍一下app.py,其文件内容如下:

from flask import Flask
​
#创建Flask的实例对象
app = Flask(__name__)
​
#装饰器
@app.route('/')
def hello_world():
    #视图函数
    return 'Hello World!'
​
if __name__ == '__main__':
    app.run()

其中:

1.导入Flask模块,该类的实例将会成为我们的WSGI应用;

2.创建一个该类的实例,该实例可以传递以下参数:

1、__name__是一个适用于大多数情况的快捷方式,有了这个参数, Flask 才能知道在哪里可以找到模板和静态文件等东西;

2、static_url_path: 访问静态资源的url前缀

3、static_folder: 默认‘static'

4、template_folder: 默认‘templates'

3.使用route()装饰器来告诉Flask触发函数的URL ;

4.视图函数返回需要在用户浏览器中显示的信息;

5.app.run()启动一个web服务器来运行我们的程序。

运行Flask程序

我们先什么都不做,运行一下代码,试试它会出现什么。

有两种运行方法,一种是直接运行,另一种是在Terminal里面运行。

直接运行,运行结果如下:

FLASK_APP = app.py
FLASK_ENV = development
FLASK_DEBUG = 0
In folder C:/Users/LIN/Desktop/Flask开发
C:\Users\LIN\Desktop\Flask开发\venv\Scripts\python.exe -m flask run
 * Serving Flask app 'app.py' (lazy loading)
 * Environment: development
 * Debug mode: off
 * Running on http://127.0.0.1:5000/ (Press CTRL+C to quit)

在Terminal里面运行,运行结果如下图所示:

这两种运行方式主要是Environment结果不同,但也差不多,因为在Terminal里面运行中,会有个WARNING警告,告诉我们这是一个开发服务器,不要在生产部署中使用它。

我们点击http://127.0.0.1:5000/就会弹出一个浏览器,如下图所示:

那么我们就要思考,为什么点击这个网址就会弹出Hello World!,而不是弹出其他呢。

总结

本篇文章就到这里了,希望能够给你带来帮助,也希望您能够多多关注我们的更多内容!

(0)

相关推荐

  • 在Python程序和Flask框架中使用SQLAlchemy的教程

    ORM 江湖 曾几何时,程序员因为惧怕SQL而在开发的时候小心翼翼的写着sql,心中总是少不了恐慌,万一不小心sql语句出错,搞坏了数据库怎么办?又或者为了获取一些数据,什么内外左右连接,函数存储过程等等.毫无疑问,不搞懂这些,怎么都觉得变扭,说不定某天就跳进了坑里,叫天天不应,喊地地不答. ORM 的出现,让畏惧SQL的开发者,在坑里看见了爬出去的绳索,仿佛天空并不是那么黑暗,至少再暗,我们也有了眼睛.顾名思义,ORM 对象关系映射,简而言之,就是把数据库的一个个table(表),映射为编程语

  • Python的Flask框架应用程序实现使用QQ账号登录的方法

    Flask-OAuthlib是OAuthlib的Flask扩展实现, 项目地址: https://github.com/lepture/flask-oauthlib 主要特性: 支持OAuth 1.0a, 1.0, 1.1, OAuth2客户端 友好的API(和Flask-OAuth一样) 与Flask直接整合 等等-- Flask-OAuthlib提供了多个开放平台的示例代码,比如Google, Facebook, Twiter, Github, Dropbox, 豆瓣, 微博等,只是暂时没有

  • 使用Python的Flask框架构建大型Web应用程序的结构示例

    虽然小型web应用程序用单个脚本可以很方便,但这种方法却不能很好地扩展.随着应用变得复杂,在单个大的源文件中处理会变得问题重重. 与大多数其他web框架不同,Flask对大型项目没有特定的组织方式:应用程序的结构完全交给开发人员自己决定.在这一章,提出一个可能的方式来组织管理一个大型应用程序的包和模块.这种结构将用于书中其余的示例中. 1.项目结构 示例 基本多文件Flask应用结构 |-flasky |-app/ |-templates/ |-static/ |-main/ |-__init_

  • 使用Python的Flask框架来搭建第一个Web应用程序

    1.初始化 在这章,你将学到Flask应用程序的不同部分.同时,你将编写和运行你的第一个Flask web应用程序. 所有的Flask应用程序都必须创建一个 应用程序实例 .使用web服务器网关接口协议将所有从客户端接收的请求传递给这个对象处理.这个应用程序实例就是Flask类的一个对象,通常使用下面的方式创建: from flask import Flask app = Flask(__name__) Flask类构造函数唯一需要的参数就是应用程序的主模块或包.对于大多数应用程序,Python

  • 用Python的Flask框架结合MySQL写一个内存监控程序

    这里以监控内存使用率为例,写的一个简单demo性程序,具体操作根据51reboot提供的教程写如下. 一.建库建表 创建falcon数据库: mysql> create database falcon character set utf8; Query OK, 1 row affected (0.00 sec) 创建内存监控使用的表stat,表结构如下: CREATE TABLE `stat` ( `id` int(11) unsigned NOT NULL AUTO_INCREMENT, `h

  • Pyhon Flask框架:第一个Flask程序

    目录 创建Flask项目 app.py介绍 运行Flask程序 总结 Flask框架介绍 Flask诞生于2010年,是Armin ronacher用Python语言基于Werkzeug工具箱编写的轻量级Web开发框架,其本身相当于一个内核,其他几乎所有的功能都要用到扩展,都需要第三方的扩展来实现. 其WSGI工具箱采用Werkzeug(路由模块),模板引擎则使用Jinja2,这两个也是Flask框架的核心,它们分别负责业务处理和安全方面的功能.其中: Werkzeug库:支持URL路由请求集成

  • 利用python实现后端写网页(flask框架)

    如何用python做后端写网页-flask框架 什么是Flask安装flask模块Hello World更深一步:数据绑定后端传入数据从前端获取数据 数据库连接screen创建后台查看删除后台 结束 什么是Flask Flask是一个使用 Python 编写的轻量级 Web 应用框架.其 WSGI 工具箱采用 Werkzeug ,模板引擎则使用 Jinja2 .Flask使用 BSD 授权.以下程序均在自己服务器上运行(在vs code利用ssh进行连接) 安装flask模块 首先使用pip进行

  • python编程Flask框架简单使用教程

    目录 基础知识 使用框架的优点: Flask常用扩展包: 基本格式: 拓展: return 重定向 取网址参数 content-type cookie\session flask路由 request属性 上下文 注册路由 基础知识 使用框架的优点: 稳定性和可扩展性强 可以降低开发难度,提高了开发效率 Flask诞生于2010年,是Armin ronacher用Python语言基于Werkzeug工具箱编写的轻量级Web开发框架 Flask本身相当于一个内核,其他几乎所有的功能都要用到扩展(邮件

  • Flask框架web开发之零基础入门

    Flask框架是Python开发的一个基于Werkzeug和Jinja 2的web开发微框架,它的优势就是极其简洁, 但又非常灵活,而且容易学习和应用.因此Flask框架是Python新手快速开始web开发最好的选择,此外, 使用Flask框架的另一个好处在于你可以非常轻松地将基于Python的机器学习算法或数据分析算法集成到 web应用中. 1.可以用Flask框架做什么 从博客应用到克隆一个facebook或者twitter,理论上你可以用Flask做任何事情.有很多库 可以直接使用,例如f

  • Flask框架Flask-Principal基本用法实例分析

    本文实例讲述了Flask框架Flask-Principal基本用法.分享给大家供大家参考,具体如下: Flask-Principal是Flask框架的一个扩展,主要主件是Identity,Needs,Permission和IdentityContext. Identity:代表用户,从各个位置存储和加载每个请求,包含用户拥有的访问权限. Needs:需求是访问控制的最小粒度,代表了这种情况的具体参数.例如:管理用户.可以编辑帖子. Permission:权限 IdentityContext:针对

  • 对于Python的框架中一些会话程序的管理

    Django, Bottle, Flask,等所有的python web框架都需要配置一个SECRET_KEY.文档通常推荐我们使用随机的值,但我很难发现他有任何文字说明,因为这样容易被破解(本地攻击或者文本阅读在web app中更容易受攻击).攻击者可以使用SECRET_KEY伪造cookies,csrf token然后使用管理员工具.不过这很难做到,不过他可以搞一些小破坏,比如执行恶意代码.这也是我下面将要介绍的. 记得以前使用PHP找到一个可以读服务器上任意文件的bug(不包含本地文件),

  • 在Linux上安装Python的Flask框架和创建第一个app实例的教程

    无论你在linux上娱乐还是工作,这对你而言都是一个使用python来编程的很好的机会.回到大学我希望他们教我的是Python而不是Java,这学起来很有趣且在实际的应用如yum包管理器中很有用. 本篇教程中我会带你使用python和一个称为flask的微型框架来构建一个简单的应用,来显示诸如每个进程的内存使用,CPU百分比之类有用的信息. 前置需求 Python基础.列表.类.函数.模块.HTML/CSS (基础). 学习这篇教程你不必是一个python高级开发者,但是首先我建议你阅读http

随机推荐