from flask import Flask app = Flask(name) @app.route('/hi') @app.route('/') def hello_world(): return
Flask框架简介 Flask是一个使用 Python 编写的轻量级 Web 应用框架。 来源-百度百科 MVC框架对比 框架 概述 Flask 全能框架、学习成本较大 Django 微框架、易学习、Jinja2模板、内置服务器、扩展丰富、易扩展 Tornado 高性能、异步处理、扩展不多 Bottle 小巧 ---- Flask为什么可以独立运行 Werkzeug是一个WSGI工具包,也可以作为一个Web框架的底层库。 plain')}) # return [b"hello world"] request = Request(environ) text = "hello flask ,%s"%(request.args.get('a','flask')) response = Response(text,mimetype="text/plain")
image Flask-Login在登录过程中主要负责: 将用户对象存入request context中 将用户ID,Session ID等信息存入Session中 在<<使用Flask实现用户登陆认证的详细过程 注意:Flask的session是以cookie为基础,但是是在Server端使用secret key并使用AES之类的对称加密算法进行加密的,然后将加密后的cookie发送给客户端。 关于signal的详细解释请参考拙作<<Flask Signals详解>> 非首次登陆 非首次登陆流程图如下: ? 失败则进入鉴权失败处理流程,如果成功,则允许正常处理请求 那么Flask-Login究竟是如何保护路由的呢? remember cookie是指,当用户勾选'remember me'复选框时,Flask-Login会将用户信息放入到指定的cookie当中,同样也是加密的。
为什么学习Flask Flask的灵活度非常之高,他不会帮你做太多的决策,即使做已经帮你做出选择,你也能非常容易的更换成你需要的,比如: 使用Flask开发数据库的时候,具体是使用SQLAlchemy还是 新建Flask项目 我们使用Pycharm专业版,新建第一个Flask项目: 默认生成代码解析 # 从flask框架中导入Flask类 from flask import Flask # 传入__name __初始化一个Flask实例 app = Flask(__name__) # app.route装饰器映射URL和执行的函数。 Flask项目配置 设置为DEBUG模式 默认情况下flask不会开启DEBUG模式,开启DEBUG模式后,flask会在每次保存代码的时候自动的重新载入代码,并且如果代码有错误,会在终端进行提示。 在Flask项目中,有四种方式进行项目的配置: 直接硬编码: app = Flask(__name__) app.config['DEBUG'] = True 因为app.config是flask.config.Config
app.py from flask import Flask from flask_bootstrap import Bootstrap from flask_moment import Moment from flask_sqlalchemy import SQLAlchemy from flask_script import Manager app = Flask('sayhello')
urlparse import urlparse, urljoin except ImportError: from urllib.parse import urlparse, urljoin from flask
review和维护了 如果多个人同时开发admin,同时写代码提交,版本控制就会城灾难 如果我们要弃用admin功能块,那我们要删除多少行 2、使用蓝图使之pythonic admin.py from flask def add(): return 'admin_add' @admin.route('/show') def show(): return 'admin_show' user.py from flask app.register_blueprint(admin,url_prefix='/admin') app.register_blueprint(user, url_prefix='/user') ---- from flask
//不要和bootstrap同时使用,会冲突 from flask import Flask from flask import render_template from flask_moment import Moment from datetime import datetime app = Flask(name) moment = Moment(app) @app.route('/moment
@app.route('/') @login_required def index(): page=request.args.get('page',1,type=int) pagination=User.query.order_by(User.createTime.desc()).paginate(page,per_page=12,error_out=False) users=pagination.items return render_template('index.html', name=current_user.username,users=users,pagination=pagination)
在全局添加猴子 这能修改 python 默认的 IO 行为,让标准库变成 协作式(cooperative)的 API。注意引入 gevent 后,不能再用原来的方式启动我们的 web 应用了
<!DOCTYPE html> <html lang="en"> <head> <meta charset="utf-8"> <title>{{ user.username }}'s Watchlist</title> </head> <body> ← Return
from flask import Flask,request app = Flask(name) 第一个请求时执行 @app.before_first_request def do(): print
from flask import Flask from flask_debugtoolbar import DebugToolBarExtention app=Flask(name) toolbar
app.py from flask_bootstrap import Bootstrap app = Flask('sayhello') bootstrap = Bootstrap(app) index.html
@app.route('/') def index(): return "aa"
一、安装 sudo pip install flask-caching 二、创建 from flask_caching # CACHE_REDIS_URL = "redis://:@127.0.0.1:6379/1" 五、使用 使用方式与flask-cache
from flask import Flask app = Flask(name) @app.route('/hi/<int:year>') @app.route('/hello',methods=[
简介 flask-session是flask框架的session组件,由于原来flask内置session使用签名cookie保存,该组件则将支持session保存到多个地方,如: redis:保存数据的一种工具 /usr/bin/env python # -*- coding:utf-8 - import redis from flask import Flask, session from flask_session /usr/bin/env python # -*- coding:utf-8 - import redis from flask import Flask, session from flask_session /usr/bin/env python # -*- coding:utf-8 - import redis from flask import Flask, session from flask_session /usr/bin/env python # -*- coding:utf-8 - import redis from flask import Flask, session from flask_session
简介 Flask-Scropt插件为在Flask里编写额外的脚本提供了支持。 安装 用命令pip和easy_install安装: pip install Flask-Script 从github下载最新版本,源码编译安装: git clone https://github.com /smurfix/flask-script.git cd flask-script python setup.py develop 创建并运行命令行 第一步:实例化manage对象 需要创建一个可以运行你脚本命令的 Manager类会跟踪所有的命令和命令行调用的参数: from flask_script import Manager app = Flask(__name__) # configure your app import Manager,Command from flask import Flask app = Flask(__name__) manager = Manager(app) class
Flask介绍 Flask 是一款发布于2010年非常流行的 Python Web 框架。 特点 微框架、简洁,给开发者提供了很大的扩展性。 Flask和相应的插件写得很好,用起来很爽。 Flask 本身相当于一个内核,其他几乎所有的功能都要用到扩展(邮 件扩展 Flask-Mail ,用户认证 Flask-Login ,数据库 Flask-SQLAlchemy ),都需要用第三方的扩展来实现 扩展 Flask-SQLalchemy:操作数据库; Flask-script:插入脚本; Flask-migrate:管理迁移数据库; Flask-Session:Session存储方式指定; Flask-WTF :表单; Flask-Mail:邮件; Flask-Bable:提供国际化和本地化支持,翻译; Flask-Login:认证用户状态; Flask-OpenID:认证; Flask-RESTful:开发 文档地址 中文文档 英文文档 Flask的安装 pip install flask 第一个Flask程序 #从flask包中导入Flask类 from flask import Flask #创建一个