之前我们使用@app.route这个装饰器来把视图函数和url绑定 @app.route('/') def hell_world(): return 'hello world' 而且我们可以通过url_for('hello_world')反转得到url '/' 实际上我们可以给这个装饰器再加上endpoint参数,给这个url命名 @app.route('/', endpoint='index') def hello_word(): return 'hello world' 一旦我们使用了end…
flask注册视图有两种方式 一:add_url_rule()add_url_rule源码:rule:接口地址view_func=视图函数endpoint=终结点,可以理解为给当前视图取的别名,最直观的就是在url_for()的时候会用到,如果指定了endpoint,则在url_for()的时候,不能写视图函数名,只能写endpoint名 二:app.route() 其实route()底层也是调的add_url_rule(),源码: 由上可见,app.route()也是有endpoint参数的,…
Flask实战 留言板 创建项目目录messageboard,从GreyLi的代码中把Pipfile和Pipfile.lock文件拷贝过来,这两个文件中定义了虚拟环境中需要安装的包的信息和位置,进入messageboard目录使用pipenv创建虚拟环境,这会同时安装所有依赖(--dev选项用来包括开发依赖), 安装完成后激活虚拟环境. 安装虚拟环境 pipenv install –dev 激活: flask shell 查看虚拟环境中安装的包: Pipfile:用来下载依赖包的 [[sourc…
使用蓝本模块化程序 实例化flask提供的blueprint类就创建一个蓝本实例.像程序实例一样,我们可以为蓝本实例注册路由.错误处理函数.上下文处理函数,请求处理函数,甚至是单独的静态文件文件夹和模板文件夹.在使用上,它和程序实例也很相似.比如,蓝本实例同样拥有一个route()装饰器,可以用来注册路由,但实际上蓝本对象和程序对象却有很大的不同. 实例化Blueprint类时,除了传入构造函数的第一个参数是蓝本名称之外,创建蓝本实例和使用flask对象创建程序实例的代码基本相同.例如,下面的代…
Flask中的g对象是个很好的东西,主要用于在一个请求的过程中共享数据.可以随意给g对象添加属性来保存数据,非常的方便,下面的代码是一个使用g对象的例子.下面的这个例子会使用random随机产生一个0~9的整数,并使用g.x保存并记录debug日志: # encoding=utf-8 from flask import Flask from flask import g import random app = Flask(__name__) @app.before_request def set…
1.Blueprint()在蓝本注册函数register_blueprint()中,第一个参数为所注册的蓝本名称.当我们在应用对象上注册一个蓝图时,需要指定一个url_prefix关键字 参数(这个参数默认是/).其余可增参数详见Flask官方文档. 2. static_url_path:'/wallet/static'   改变static的访问路径,即访问的时候从这个路径访问,这个路径寻找从下面的地方寻找? static_folder:'../../../front/static'   告诉…
之前我们接触的视图都是函数,所以一般简称为视图函数.其实视图函数也可以基于类来实现,类视图的好处是支持继承,写完类视图需要通过app.add_url_rule(url_rule, view_func)来进行注册. 标准类视图 1.标准类视图必须继承flask.views.View 2.必须实现dispatch_request方法,以后请求过来后,都会执行这个方法,这个方法的返回值相当于之前的视图函数一样,也必须返回Response或者子类的对象,或者是字符串.元祖 3.必须通过app.add_u…
Flask是流行的python web框架...(* ̄︶ ̄) 零基础到企业级论坛实战,人生苦短,我用python,开启FLask之旅吧... 安装开发环境 下载Python win版安装包 双击运行,选择自定义安装,勾选Add Python 3.6 to PATH 安装完成之后,进入cmd窗口,输入python即可进入python环境 这里我们使用virtualenv虚拟开发环境 为什么使用virtualenv? 1.使用不同应用开发环境独立开发 2.环境升级不影响其他应用,也不会影响全局的Py…
@app.route和app.add_url_rule参数: rule, URL规则 view_func, 视图函数名称 defaults=None, 默认值,当URL中无参数,函数需要参数时,使用defaults={'k':'v'}为函数提供参数 endpoint=None, 名称,用于反向生成URL,即: url_for('名称') methods=None, 允许的请求方式,如:["GET","POST"] strict_slashes=None, 对URL最…
视图函数的返回值会被自动转换为一个响应对象,Flask的转换逻辑如下: 如果返回的是一个合法的响应对象,则直接返回 可以使用make_response函数来创建Response对象,这个方法可以设置额外的数据,比如cookie.header信息等 rom flask import Flask from flask import make_response app=Flask(__name__) @app.route('/about/') def about(): return make_resp…