【Flask】认识Flask

Python 现阶段三大主流Web框架 Django Tornado Flask 对比

百度百科

1.Django 主要特点是大而全,集成了很多组件,例如: Models Admin Form 等等, 不管你用得到用不到,反正它全都有,属于全能型框架

2.Tornado 主要特点是原生异步非阻塞,在IO密集型应用和多任务处理上占据绝对性的优势,属于专注型框架

3.Flask 主要特点小而轻,原生组件几乎为0, 三方提供的组件请参考Django 非常全面,属于短小精悍型框架

Django 通常用于大型Web应用由于内置组件足够强大所以使用Django开发可以一气呵成

Tornado 通常用于API后端应用,游戏服务后台,其内部实现的异步非阻塞真是稳得一批

Flask 通常应用于小型应用和快速构建应用,其强大的三方库,足以支撑一个大型的Web应用

Django 优点是大而全,缺点也就暴露出来了,这么多的资源一次性全部加载,肯定会造成一部分的资源浪费

Tornado 优点是异步,缺点是干净,连个Session都不支持

Flask 优点是精悍简单,缺点是你不会!

Flask 的安装

pip install flask

flask的第一个程序

# -*- coding: utf-8 -*-
# @Time    : 2019/7/10 9:36
from flask import Flask   # 导入Flask类

app = Flask(__name__)     # 实例化Flask对象app

app.debug = True     # 自动重启服务
# app.config["DEBUG"] = True
@app.route("/index")      # app中的route装饰器
def index():              # 视图函数
    return "hello word"   # 响应值

if __name__ == ‘__main__‘:
    app.run("0.0.0.0",9876)  # 指定ip端口启动Flask web服务

得到页面

原文地址:https://www.cnblogs.com/youxiu123/p/11605763.html

时间: 2024-11-06 16:53:28

【Flask】认识Flask的相关文章

网站后端_Python+Flask.0008.FLASK响应相关之隐式显式与自定义响应?

隐式响应: 1. 视图函数的返回值会被隐式转换为一个响应对象 2. 如果返回的是一个合法的响应对象,则会从视图函数中直接返回 3. 如果返回的是一个字符串,会用字符串数据和默认参数创建字符串为主体,状态码为200,MIME类型为text/html的werkzeug.wrappers.Response响应对象 4. 如果返回的是一个元组(response, status, headers),且至少包含一个元素,status值会覆盖状态代码,headers可以是一个列表或是字典,作为额外的消息头 5

网站后端_Python+Flask.0009.FLASK静态资源之默认及自定义资源目录?

默认位置: 说明: WEB应用大多会提供基于CDN的静态文件服务以便给用户更好的体验,静态文件主要包括CSS/JS/图片/字体等,FLASK默认只需要在项目根目录下创建"static"的目录,项目中使用基于/static开头的路径就可以访问,但是为了更好的处理能力,推荐使用Nginx或是其它的WEB服务器管理静态文件 推荐方案: 1. 不要在项目中直接写死静态文件路径,应该使用url_for生成路径,当然如果我们想指定路径也可以在创建app实例时指定static_folder参数 #!

网站后端_Python+Flask.0010.FLASK即插视图之自定义视图类及视图修饰?

即插视图; 说明: FLASK的视图灵感来自于DJANGO的基于类而非基于函数的通用视图,主要目的是为了解决多个视图函数之间已经实现的部分,通过类继承的方式继承到其它视图,总之为了一点,就是少写代码,然后通过add_url_rule让我们定义的视图类支持动态插入,也就是所谓的即插视图 深入视图: # 转换前: #!/usr/bin/env python # -*- coding: utf-8 -*- """ # # Authors: limanman # 51CTOBG: h

网站后端_Python+Flask.0006.FLASK地址转换之默认转换与自定义转换?

动态规则: 说明: URL规则可添加变量部分,也就是说将符合同种规则的URL抽象成一个URL模式 @app.route('/instance/<uuid>/') def instance(uuid):     return 'Instance: {}'.format(uuid) 注意: 尖括号中内容是动态的,凡是匹配到/instance/前缀的都会被映射到这个路由上,在内部把uuid作为参数而获得,默认类型为字符串 默认转换: 说明: 可通过<converter:variable_nam

网站后端_Python+Flask.0007.FLASK构造跳转之301跳转与302重定向?

构造地址: 说明: FLASK支持通过视图函数及传参来构造URL,而且未来修改URL可一次性修改,且默认构建会转义特殊字符和Unicode数据,这些工作不需要我们自己处理,且不仅支持在上下文中构造而且还支持在模版文件中构造 #!/usr/bin/env python # -*- coding: utf-8 -*- """ # # Authors: limanman # 51CTOBG: http://xmdevops.blog.51cto.com/ # Purpose: #

网站后端_Python+Flask.0005.FLASK调试模式之开启DEBUG与PIN使用?

自动加载: # 方式一 if __name__ == '__main__':     app.run(host='0.0.0.0', port=9000, debug=True) # 方式二 if __name__ == '__main__':     app.debug = True     app.run(host='0.0.0.0', port=9000) 说明: 可通过如上两种方式开启调试模式,调试模式下PY文件被修改会自动重新加载,资源文件/模版文件/配置文件修改必须重启生效~这个确实

网站后端_Python+Flask.0012.FLASK域名相关之域名与动态子域名实现?

域名设置: 说明: SERVER_NAME内置属性的设置会影响全局URL,它主要有两个作用,第一个作用是在请求上下文之外生成绝对URL,当然如果设置也会影响请求上下文内的绝对URL,第二个作用是用于子域名的支持 #!/usr/bin/env python # -*- coding: utf-8 -*- """ # # Authors: limanman # 51CTOBG: http://xmdevops.blog.51cto.com/ # Purpose: # "

[Flask]学习Flask第三天笔记总结

1 from flask import Flask,render_template,request 2 from others import checkLogin 3 app = Flask(__name__) 4 5 #从templates里引用index.html 6 #return render_template("index.html") 7 @app.route('/') 8 def index(): 9 return '''<form action="/lo

网站后端_Python+Flask.0003.FLASK快速入门之Hello Word?

框架特点: 1. 非常小, 小到可称为微型框架 2. 可扩展, 设计初衷就是不会替开发者做太多决策,支持随时更换或动手实现扩展模块 3. 三依赖, 路由/调试/WSGI(由WERKZEUG提供的WEB服务器网关接口实现),模版系统(由JINJA2实现),签名(由ITSDANGEROUS实现) 快速安装: pip install flask 快速入门: #!/usr/bin/env python # -*- coding: utf-8 -*- """ # # Authors: 

网站后端_Python+Flask.0004.FLASK配置管理之三种方式加载外部配置?

简单介绍: 说明: 复杂的项目需要配置各种环境,若设置少可直接硬编码,设置多的话可通过加载配置/加载文件/加载变量的方式来设置 app.config.update(     DEBUG=True, ) 扩展: app.config是flask.config.Config类的实例,继承子PY内置数据结构dict,所以可以使用如上update方法,支持传入多个键值对,其实app.config内置很多配置变量(http://flask.pocoo.org/docs/0.11/config/#Built