欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

Pyhon Flask框架:第一个Flask程序

程序员文章站 2022-03-03 11:55:36
目录创建flask项目运行flask程序flask框架介绍flask诞生于2010年,是armin ronacher用python语言基于werkzeug工具箱编写的轻量级web开发框架,其本身相当于...

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项目,如下图所示:

Pyhon Flask框架:第一个Flask程序

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

Pyhon Flask框架:第一个Flask程序

其中:

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

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

pip list

执行结果如下图所示:

Pyhon Flask框架:第一个Flask程序

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

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里面运行,运行结果如下图所示:

Pyhon Flask框架:第一个Flask程序

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

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

Pyhon Flask框架:第一个Flask程序

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

总结

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