flask 中的蓝图 blueprint 的理解
来源:互联网 发布:归属地查询软件 编辑:程序博客网 时间:2024/06/02 12:45
- 好处一:
- 好处二:
另外一个顺带出来的好处,是对于 Flask Extension 开发者而言,blueprint 便于在 app 上插拔。而且 url_for 等等具有隔离命名空间的效果。
正常的组织形式如下:
首先是注册一个形式上的view,得到一个蓝图对象:
admin_views.py
<pre name="code" class="lang-py prettyprint prettyprinted" style="margin-top:0px; margin-bottom:1em; padding:5px; border:0px; font-size:13px; overflow:auto; width:auto; max-height:600px; font-family:Consolas,Menlo,Monaco,'Lucida Console','Liberation Mono','DejaVu Sans Mono','Bitstream Vera Sans Mono','Courier New',monospace,sans-serif; color:rgb(57,51,24); word-wrap:normal; background-color:rgb(238,238,238)"><code style="margin:0px; padding:0px; border:0px; font-family:Consolas,Menlo,Monaco,'Lucida Console','Liberation Mono','DejaVu Sans Mono','Bitstream Vera Sans Mono','Courier New',monospace,sans-serif; white-space:inherit"><span class="kwd" style="color:#008b;margin:0px; padding:0px; border:0px;">from</span><span class="pln" style="color:#000000;margin:0px; padding:0px; border:0px;"> flask </span><span class="kwd" style="color:#008b;margin:0px; padding:0px; border:0px;">import</span><span class="pln" style="color:#000000;margin:0px; padding:0px; border:0px;"> </span><span class="typ" style="color:#2b91af;margin:0px; padding:0px; border:0px;">Blueprint</span><span class="pln" style="color:#000000;margin:0px; padding:0px; border:0px;">admin </span><span class="pun" style="color:#000000;margin:0px; padding:0px; border:0px;">=</span><span class="pln" style="color:#000000;margin:0px; padding:0px; border:0px;"> </span><span class="typ" style="color:#2b91af;margin:0px; padding:0px; border:0px;">Blueprint</span><span class="pun" style="color:#000000;margin:0px; padding:0px; border:0px;">(</span><span class="str" style="color:#8000;margin:0px; padding:0px; border:0px;">'admin'</span><span class="pun" style="color:#000000;margin:0px; padding:0px; border:0px;">,</span><span class="pln" style="color:#000000;margin:0px; padding:0px; border:0px;"> __name__</span><span class="pun" style="color:#000000;margin:0px; padding:0px; border:0px;">)</span><span class="pln" style="color:#000000;margin:0px; padding:0px; border:0px;"></span><span class="lit" style="color:#8000;margin:0px; padding:0px; border:0px;">@admin</span><span class="pun" style="color:#000000;margin:0px; padding:0px; border:0px;">.</span><span class="pln" style="color:#000000;margin:0px; padding:0px; border:0px;">route</span><span class="pun" style="color:#000000;margin:0px; padding:0px; border:0px;">(</span><span class="str" style="color:#8000;margin:0px; padding:0px; border:0px;">'/'</span><span class="pun" style="color:#000000;margin:0px; padding:0px; border:0px;">)</span><span class="pln" style="color:#000000;margin:0px; padding:0px; border:0px;"></span><span class="kwd" style="color:#008b;margin:0px; padding:0px; border:0px;">def</span><span class="pln" style="color:#000000;margin:0px; padding:0px; border:0px;"> index</span><span class="pun" style="color:#000000;margin:0px; padding:0px; border:0px;">():</span><span class="pln" style="color:#000000;margin:0px; padding:0px; border:0px;"> </span><span class="kwd" style="color:#008b;margin:0px; padding:0px; border:0px;">pass</span><span class="pln" style="color:#000000;margin:0px; padding:0px; border:0px;"></span><span class="lit" style="color:#8000;margin:0px; padding:0px; border:0px;">@admin</span><span class="pun" style="color:#000000;margin:0px; padding:0px; border:0px;">.</span><span class="pln" style="color:#000000;margin:0px; padding:0px; border:0px;">route</span><span class="pun" style="color:#000000;margin:0px; padding:0px; border:0px;">(</span><span class="str" style="color:#8000;margin:0px; padding:0px; border:0px;">'/logout'</span><span class="pun" style="color:#000000;margin:0px; padding:0px; border:0px;">)</span><span class="pln" style="color:#000000;margin:0px; padding:0px; border:0px;"></span><span class="kwd" style="color:#008b;margin:0px; padding:0px; border:0px;">def</span><span class="pln" style="color:#000000;margin:0px; padding:0px; border:0px;"> logout</span><span class="pun" style="color:#000000;margin:0px; padding:0px; border:0px;">():</span><span class="pln" style="color:#000000;margin:0px; padding:0px; border:0px;"> </span><span class="kwd" style="color:#008b;margin:0px; padding:0px; border:0px;">pass</span></code>
将该蓝图对象挂载(注册)到app下面:
application.py
<pre name="code" class="lang-py prettyprint prettyprinted" style="margin-top:0px; margin-bottom:1em; padding:5px; border:0px; font-size:13px; overflow:auto; width:auto; max-height:600px; font-family:Consolas,Menlo,Monaco,'Lucida Console','Liberation Mono','DejaVu Sans Mono','Bitstream Vera Sans Mono','Courier New',monospace,sans-serif; color:rgb(57,51,24); word-wrap:normal; background-color:rgb(238,238,238)"><code style="margin:0px; padding:0px; border:0px; font-family:Consolas,Menlo,Monaco,'Lucida Console','Liberation Mono','DejaVu Sans Mono','Bitstream Vera Sans Mono','Courier New',monospace,sans-serif; white-space:inherit"><span class="kwd" style="color:#008b;margin:0px; padding:0px; border:0px;">from</span><span class="pln" style="color:#000000;margin:0px; padding:0px; border:0px;"> flask </span><span class="kwd" style="color:#008b;margin:0px; padding:0px; border:0px;">import</span><span class="pln" style="color:#000000;margin:0px; padding:0px; border:0px;"> </span><span class="typ" style="color:#2b91af;margin:0px; padding:0px; border:0px;">Flask</span><span class="pln" style="color:#000000;margin:0px; padding:0px; border:0px;"></span><span class="kwd" style="color:#008b;margin:0px; padding:0px; border:0px;">from</span><span class="pln" style="color:#000000;margin:0px; padding:0px; border:0px;"> admin_views </span><span class="kwd" style="color:#008b;margin:0px; padding:0px; border:0px;">import</span><span class="pln" style="color:#000000;margin:0px; padding:0px; border:0px;"> adminapp </span><span class="pun" style="color:#000000;margin:0px; padding:0px; border:0px;">=</span><span class="pln" style="color:#000000;margin:0px; padding:0px; border:0px;"> </span><span class="typ" style="color:#2b91af;margin:0px; padding:0px; border:0px;">Flask</span><span class="pun" style="color:#000000;margin:0px; padding:0px; border:0px;">(</span><span class="str" style="color:#8000;margin:0px; padding:0px; border:0px;">'my_application'</span><span class="pun" style="color:#000000;margin:0px; padding:0px; border:0px;">)</span><span class="pln" style="color:#000000;margin:0px; padding:0px; border:0px;">app</span><span class="pun" style="color:#000000;margin:0px; padding:0px; border:0px;">.</span><span class="pln" style="color:#000000;margin:0px; padding:0px; border:0px;">register_blueprint</span><span class="pun" style="color:#000000;margin:0px; padding:0px; border:0px;">(</span><span class="pln" style="color:#000000;margin:0px; padding:0px; border:0px;">admin</span><span class="pun" style="color:#000000;margin:0px; padding:0px; border:0px;">,</span><span class="pln" style="color:#000000;margin:0px; padding:0px; border:0px;"> url_prefix</span><span class="pun" style="color:#000000;margin:0px; padding:0px; border:0px;">=</span><span class="str" style="color:#8000;margin:0px; padding:0px; border:0px;">'/admin'</span><span class="pun" style="color:#000000;margin:0px; padding:0px; border:0px;">)</span></code>
0 0
- flask 中的蓝图 blueprint 的理解
- flask 中的蓝图 blueprint 的理解
- 蓝图(blueprint)的理解和用法
- flask蓝图(Blueprint)简单测试例子运行不成功的原因:注册时机不对
- Flask中的蓝图
- flask蓝图的使用
- flask蓝图的使用
- flask蓝图的使用
- Flask-Blueprint
- flask-Blueprint
- Flask 用Blueprint实现模块化的应用
- 用 Flask 来写个轻博客 (16) — MV(C)_Flask Blueprint 蓝图
- flask 蓝图
- flask 蓝图
- Confluence 使用蓝图(Blueprint)
- Vertx-blueprint:Vert.x 蓝图
- flask Blueprint用法
- Flask之Blueprint
- 新浪A股、港股、美股、股票期权行情接口
- sqoop连接hbase以及spark sql使用
- JAVA单例模式:就是把构造方法弄成私有的
- 具有单位的例程
- 网站优化还靠所谓的技术?你的思维错了!
- flask 中的蓝图 blueprint 的理解
- ios -- 富文本
- 笔记-Shader所需的数学基础
- Find和FirstOrDefault()有什么区别?
- logback简介
- hbase数据库错误总结
- 设计模式---装饰者模式
- 层次式性能分析器XHProf
- 论文笔记 | Deep Residual Learning for Image Recognition