Pyhon Flask框架:第一个Flask程序
作者:霖hero 发布时间:2023-01-09 16:06:34
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!,而不是弹出其他呢。
来源:https://blog.csdn.net/weixin_52122271/article/details/120718703


猜你喜欢
- 一、效果展示1、普通查询加序号SELECT t1.NAME,( @i := @i + 1 ) AS '序号' FROM t1
- 前言使用python实现设计模式中的单例模式。单例模式是一种比较常用的设计模式,其实现和使用场景判定都是相对容易的。本文将简要介绍一下pyt
- 很多朋友想用SQL2000数据库的编程方法,但是却又苦于自己是学ACCESS的,对SQL只是一点点的了解而已,这里我给大家提供以下参考---
- 为什么能实现在线编辑呢? 首先需要ie 的支持,在 ie 5.5以后就有一个编辑状态,就是利用这个编辑状态,然后用javascript 来控
- 如下所示:import pandas as pddata = pd.read_excel('123.xls','Sh
- Python下有许多款不同的 Web 框架。Django是重量级选手中最有代表性的一位。许多成功的网站和APP都基于Django。Djang
- 今天我们来到了循环队列这一节,之前的文章中,我介绍过了用python自带的列表来实现队列,这是最简单的实现方法。但是,我们都知道,在列表中删
- 最近工作中需要写SQLserver的存储过程,第一次使用,简单记录下,以防遗忘。在SQLserver可视化工具中编写,我的工具如下图:首先点
- 这几天研究HUE,这个东西是基于Django开发的,于是又看了一眼Django,学着写个demo。微软开源的vscode在业界反应不错,以前
- hello,小伙伴们大家好,今天给大家介绍的开源项目是Python虚拟环境管理工具,Pipenv是Python官方推荐的包管理工具。可以说,
- 一、使用 reflect.Type 创建实例在通过 reflect.TypeOf 函数获取到变量的反射类型对象之后,可以通过反射类型对象 r
- VSCode 的 Remote Deployment 插件对 WSL2 直接提供了支持,能够很方便的连接本机的 WSL2 ,但是并没有提供一
- 本文实例讲述了Python实现Sqlite将字段当做索引进行查询的方法。分享给大家供大家参考,具体如下:默认从sqlite中获取到的数据是数
- pytorch中的transforms模块中包含了很多种对图像数据进行变换的函数,这些都是在我们进行图像数据读入步骤中必不可少的,下面我们讲
- 阅读上一篇:W3C优质网页小贴士(一) 使用 alt 属性描述每幅图像alt 属性有什么用?alt 属性可以在一系列标签中使用(如
- 最简单的实现一个队列至少满足2个方法,put和get.借助最小堆来实现.这里按"值越大优先级越高"的顺序.#coding
- 一,前言上篇,主要介绍了在 Vue 的数据初始化流程中,对象属性的单层劫持是如何实现的回顾一下,主要涉及以下几个核心点:data 为函数和对
- 假设要实现一个存放多种类型数据结构的对象,比如一个存放算术操作数和操作符的树结点,需要存放包含一元操作符、二元操作符和数字类型的结点clas
- 本文实例总结了Python2与Python3的区别。分享给大家供大家参考,具体如下:Python的3??.0版本相对于Python的早期版本
- 如下代码:<div id="vue_det"> <