flask入门

flask

Flask是一个基于Python实现的web开发的'微'框架我

1.virtualenv flaskenv
2.scripts/activate

  1. pip install flask
    hello.py

    from flask import Flask
     # 初始化flask对象
     app = Flask(__name__)
    
     # 定义路由,绑定视图函数
     @app.route('/')
     def hello():
     return  'Hello World'
    
     # 启动项目
     if __name__ == '__main__':
     # port:端口, host:IP地址。 debug:调试模式
     app.run(port=8080, host='0.0.0.0', debug=True)
    

运行默认IP:端口 ----> 127.0.0.1:500
初始化
from flask import Flask
app = Flask(name)

Flask类构造函数唯一需要的参数就是应用程序的主模块或包。对于大多数应用程序,Python的name变量就是那个正确的、你需要传递的值。Flask使用这个参数来确定应用程序的根目录,这样以后可以相对这个路径来找到资源文件。

路由
@app.route(' / ')

客户端例如web浏览器发送 请求 给web服务,进而将它们发送给Flask应用程序实例。应用程序实例需要知道对于各个URL请求需要运行哪些代码,所以它给Python函数建立了一个URLs映射。这些在URL和函数之间建立联系的操作被称之为 路由 。

在Flask应程序中定义路由的最便捷的方式是通过显示定义在应用程序实例之上的app.route装饰器,注册被装饰的函数来作为一个 路由。

安装插件-使用Manager
pip install flask-script
from flask_script import Manager
使用manage管理flask的对象
启动命令:python 文件名 runserver -d -p -h
d>debug >:port h> host

manage = Managger(app=app)

启动项目

if _ _name_ _ == '_ _main_ _':
  manage.run()

使用蓝图
安装
pip install flask_blueprint
from flask import Blueprint
实例化蓝图应用
一,blue = Blueprint('app', _ name _)

注意:Blueprint中传入了两个参数,第一个是蓝图的名称,第二个是蓝图所在的包或模块,name代表当前模块名或者包名
装饰视图函数
@blue.route(' / ', methods = ['GET', 'POST'])
def hello()
    return 'Hello World'
二、注册
app.register_blueprint(blueprint=blue, url_prefix='/app')

url_for反向解析
url_for('蓝图的第一个采纳数.跳转到某个函数的函数名')
from flask import url_for, redirect
@blue.route('/redirect/')
def make_redirect()
    return redirdct('/hello/index/')
    或者
    return
redirect(url_for('first.index))

route匹配规则
1.<string: xxx> 获取到的xxx的参数为字符串类型
2.<xxx> 默认获取到的xxx参数的值为字符串类型
3.<int:xxx> 获取到的xxx参数的值为整型类型
4.<float:xxx> 获取到xxx参数的值为浮点型
5.<uuid:uuid>
route(self, rule, option)

请求与响应
请求:是客户端传到服务端的
响应:是服务端返回到客户端的,比如设置响应值

请求
如果是GET请求:获取get请求中的参数,使用request.args
如果是POST/PUT/PATCH/DELETE请求: 获取post请求中的参数,使用request.form
获取key重复的value值,使用request.form.getlist(key)
args是get请求参数的包装,args是一个ImmutableMultiDict对象,类字典结构对象
form是post请求参数的包装,args是一个ImmutableMultiDict对象,类字典结构对象

响应response
from flask import make_response
make_response(data, code) 创建response对象

绑定cookie
set_cookie(key, value, max_age/expires)
delete_cookie(key)

抛出与异常
抛出:abort(500)
捕获:blue.errorhandler(500)

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 214,504评论 6 496
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 91,434评论 3 389
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 160,089评论 0 349
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 57,378评论 1 288
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 66,472评论 6 386
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 50,506评论 1 292
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,519评论 3 413
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,292评论 0 270
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,738评论 1 307
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,022评论 2 329
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,194评论 1 342
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,873评论 5 338
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,536评论 3 322
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,162评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,413评论 1 268
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,075评论 2 365
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,080评论 2 352

推荐阅读更多精彩内容