文章插图
前言
Python Web框架里比较有名当属Django,Django功能全面,它提供一站式解决方案,集成了MVT(Model-View-Template)和ORM,以及后台管理 。但是缺点也很明显,它偏重 。就像是一个装潢好的房子,它提供好了你要用的东西,直接拿来用就可以 。
Flask相对于Django而言是轻量级的Web框架 。和Django不同,Flask轻巧、简洁,通过定制第三方扩展来实现具体功能 。
可定制性,通过扩展增加其功能,这是Flask最重要的特点 。Flask的两个主要核心应用是Werkzeug和模板引擎Jinja 。
文章插图
WSGI
Web Server Gateway Interface(Web服务器网关接口,WSGI)已被用作Python Web应用程序开发的标准 。WSGI是Web服务器和Web应用程序之间通用接口的规范 。
Werkzeug
它是一个WSGI工具包,它实现了请求,响应对象和实用函数 。这使得能够在其上构建web框架 。Flask框架使用Werkzeug作为其基础之一 。
jinja2
jinja2是Python的一个流行的模板引擎 。Web模板系统将模板与特定数据源组合以呈现动态网页 。
Flask通常被称为微框架 。它旨在保持应用程序的核心简单且可扩展 。Flask没有用于数据库处理的内置抽象层,也没有形成验证支持 。相反,Flask支持扩展以向应用程序添加此类功能 。一些受欢迎的Flask扩展将在本教程后续章节进行讨论 。
Flask工作流程图
文章插图
Flask扩展包:
- Flask-SQLalchemy:操作数据库
- Flask-migrate:管理迁移数据库
- Flask-Mail:邮件
- Flask-WTF:表单
- Flask-script:插入脚本
- Flask-Login:认证用户状态
- Flask-RESTful:开发REST API的工具
- Flask-Bootstrap:集成前端Twitter Bootstrap框架
- Flask-Moment:本地化日期和时间
新建flask项目:
文章插图
建成如下:
文章插图
运行如下:
文章插图
必须在项目中导入Flask模块 。Flask类的一个对象是我们的WSGI应用程序 。
Flask构造函数使用当前模块(__name __)的名称作为参数 。
以下是实例化一个Flask对象可填的参数,及其默认值:
- template_folder:模板所在文件夹的名字, 默认就是templates
- root_path:可以不用填,会自动找到,当前执行文件,所在目录地址在return render_template时会将上面两个进行拼接,找到对应的模板地址
- static_folder:静态文件所在文件的名字,默认是static,可以不用填
- static_url_path:静态文件的地址前缀,写成什么,访问静态文件时,就要在前面加上这个
- instance_relative_config:默认为False,当设置为True时,from_pyfile会从instance_path指定的地址下查找文件 。
- instsnce_path:指定from_pyfile查询文件的路径,不设置时,默认寻找和app.run()的执行文件同级目录下的instance文件夹,如果配置了instance_path(注意需要是绝对路径),就会从指定的地址下里面的文件
Flask类的route()函数是一个装饰器,它告诉应用程序哪个URL应该调用相关的函数 。
app.route(rule, options)
- rule 参数表示与该函数的URL绑定 。
- options 是要转发给基础Rule对象的参数列表 。
在上面的示例中,'/ ' URL与hello_world()函数绑定 。因此,当在浏览器中打开web服务器的主页时,将呈现该函数的输出 。
application对象的add_url_rule()函数也可用于将URL与函数绑定,如下:
def hello_world():return ‘hello world’app.add_url_rule(‘/’, ‘hello’,hello_world)
最后,Flask类的run()方法在本地开发服务器上运行应用程序 。
推荐阅读
- centos7安装python3.7.8和pip3
- Python 如何传递运算表达式?
- 大益系列之801批,801批
- 茶百科之双桥毛尖,茉莉毛尖属于什么茶茉莉花茶毛尖的功效与作用
- 东方红酒崛起,东方尤物茶鲜叶有什么特别之处
- 茶席的正确打开方式,不可比拟的茶席之美
- 冬天喝热茶能取暖吗,菊花茶变成绿色之后还能喝吗
- 纯正冰岛古树茶之道,听冰岛老寨村长讲2018冰岛茶价
- 茶百科之八角亭龙须茶,2013年八角亭冰岛古树茶王生茶新品上市
- 茶山揭秘系列之曼夕,倚邦古茶山