Pyhon Flask框架:第一个Flask程序

 更新时间:2021年10月14日 11:41:13   作者:霖hero  
这篇文章主要介绍了Flask搭建虚拟环境并运行第一个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!,而不是弹出其他呢。

总结

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

相关文章

  • 详解Python设计模式编程中观察者模式与策略模式的运用

    详解Python设计模式编程中观察者模式与策略模式的运用

    这篇文章主要介绍了Python设计模式编程中观察者模式与策略模式的运用,观察者模式和策略模式都可以归类为结构型的设计模式,需要的朋友可以参考下
    2016-03-03
  • Pandas 同元素多列去重的实例

    Pandas 同元素多列去重的实例

    今天小编就为大家分享一篇Pandas 同元素多列去重的实例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-07-07
  • Python实现清除文件夹中重复视频

    Python实现清除文件夹中重复视频

    本文将利用Python中的os、hashlib、shutil模块实现对文件夹中的重复视频进行清除,实现文件夹中无重复文件情况发生,需要的可以参考一下
    2022-05-05
  • python基础之递归函数

    python基础之递归函数

    这篇文章主要介绍了python递归函数,实例分析了Python中返回一个返回值与多个返回值的方法,需要的朋友可以参考下
    2021-10-10
  • Series和DataFrame使用简单入门

    Series和DataFrame使用简单入门

    这篇文章主要介绍了Series和DataFrame使用简单入门,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-11-11
  • Python中的变量赋值

    Python中的变量赋值

    这篇文章主要介绍了Python中的变量赋值,Python中的变量在使用中很流畅,可以不关注类型,任意赋值,对于开发来说效率得到了提升,但不了解其中的机理,往往也会犯一些小错,让开发进行的不那么流畅,本文就从语言设计和底层原理的角度,带大家理解Python中的变量。
    2021-10-10
  • python中使用正则表达式的后向搜索肯定模式(推荐)

    python中使用正则表达式的后向搜索肯定模式(推荐)

    这篇文章主要介绍了python里使用正则表达式的后向搜索肯定模式,本文通过代码介绍的非常详细,包括语法介绍,非常不错,具有参考借鉴价值,需要的朋友可以参考下
    2017-11-11
  • Python3实现的画图及加载图片动画效果示例

    Python3实现的画图及加载图片动画效果示例

    这篇文章主要介绍了Python3实现的画图及加载图片动画效果,结合实例形式分析了Python3基于tkinter库进行图片加载动画效果的相关实现与使用技巧,需要的朋友可以参考下
    2018-01-01
  • Python matplotlib 画图窗口显示到gui或者控制台的实例

    Python matplotlib 画图窗口显示到gui或者控制台的实例

    今天小编就为大家分享一篇Python matplotlib 画图窗口显示到gui或者控制台的实例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-05-05
  • Python通过wordcloud库实现将单词生成词云

    Python通过wordcloud库实现将单词生成词云

    Python的wordcloud库是一个用于生成词云的Python包,它可以将一段文本中出现频率高的单词按其出现频率大小以及颜色深浅排列成一个词云图形,从而更好地展示文本中的信息,你可以使用wordcloud库来生成各种类型的词云,本文就介绍了如何生成心型词云
    2023-06-06

最新评论