一起学习网,一个一起免费的网络建站教程资源共享和seo教程、黑帽教程学习交流的学习网站,www.17xuexiwang.com,一起学习,共同进步!
> 互联网 >

神级程序员用一篇文章教你如果熟练使用Flask中的模块!非常实用

时间:2017-09-13 16:25   文章来源:一起学习网   访问次数:
">

Flask是一个轻量级的Web框架。虽然是轻量级的,但是对于组件一个大型的、模块化应用也是能够实现的,“蓝图”就是这样一种实现。对于模块化应用的实现,在Flask 0.2版本中进行了设计。本文暂时不对“蓝图”做详细的介绍,而是先从0.2版本中的 Module 类的实现讲起。其实,“蓝图”的实现和 Module 类的实现很相似。在给大家分享之前呢,还是要介绍一下小编自己弄的一个交流群,像大家推荐一个学习氛围非常好的群,大家都非常乐意解答,乐意交流沟通,就等你的到来。Python学习群:643692991,如果你正在学习python,小编欢迎你加入,大家都是Python党,不定期分享干货(只有Python爬虫,框架,零基础都有),包括我自己整理的一份2017最新的Python资料和零基础入门教程,欢迎初学和进阶中的小伙伴。

神级程序员用一篇文章教你如果熟练使用Flask中的模块!非常实用

为什么实现模块化应用

对于大型应用而言,随着功能的不断增加,整个应用的规模也会扩大。按照一定的规则将应用的不同部分进行模块化,不仅能够使整个应用逻辑清晰,也易于维护。例如,在Flask中,你也许想像如下构建一个简单的项目:

/myapplication /__init__.py /views /__init__.py /admin.py /frontend.py

以上目录结构中,我们将之前的Flask单文件修改成了一个应用包,所有的视图函数都在 views下,并且按照功能分为了 adminfrontend 两个部分。为了实现这种模块化应用的构建,在0.2版本中Flask实现了 Module 类。这个类实例可以通过注册的方式,在Flask应用创建后添加进应用。

Module类实现了一系列的方法:

神级程序员用一篇文章教你如果熟练使用Flask中的模块!非常实用

以上方法除了 add_url_rule_record 外,都可以作为装饰器在自己的模块中使用,这些装饰器都返回一个函数。通过调用 _record 方法,可以将装饰器返回的函数放到 _register_events中。当Flask应用创建之后,通过运行 _register_events 列表中的函数,可以将这个模块注册到应用中去。

Flask应用怎么注册一个Module

以下我们以一个例子来说明Flask应用怎么注册一个 Module

1. 项目结构

这个简单的例子项目结构如下:

神级程序员用一篇文章教你如果熟练使用Flask中的模块!非常实用

以上两个模块中,我们首先分别创建了一个 Module 类,然后像写一般的视图函数一样,为每个模块增加一些规则。之后,可以在创建Flask应用的时候将这些模块引入,就可以注册了。

神级程序员用一篇文章教你如果熟练使用Flask中的模块!非常实用

在app.py中:

根据以上的步骤,我们就可以测试这个应用。分别以 /blog/admin 为URL前缀,就可以访问blogadmin 两个模块了。

2. 注册Module时发生了什么

根据上面的例子,只要简单的调用Flask应用的 register_module 方法,就可以注册一个 Module 了。关于 register_module 方法的代码如下:

神级程序员用一篇文章教你如果熟练使用Flask中的模块!非常实用

通过以上代码可以发现:

以上面例子中不同模块的URL绑定来讲,通过注册,应用 app 现形成了如下的URL“地图”:

神级程序员用一篇文章教你如果熟练使用Flask中的模块!非常实用

这样,就可以把不同模块的URL规则放在一起,并在 endpoint 和视图函数之间形成对应关系。关于Flask应用中URL处理,可以参考:Flask应用中的URL处理。

上一篇:小米MIX2真机上手:不出意外,这回肯定能大量供货了
下一篇:不仅是贝克汉姆的老婆,还是时尚设计师,贝嫂的品牌太美了

标签:

今日话题更多>

  • 武汉大学信息门户是什么 武汉大学信息门户是什么 武汉大学信息门户是武汉大学官方网站的入口,它为武汉大学师生员工提供信息服务和网络应用入口。信息门户网址为:ehall.whu.edu.cn。 信息门户包含以下主要功能: 1. 统一身份……
  • 壹米滴答物流单号查询方法 壹米滴答物流单号查询方法 壹米滴答物流单号查询可通过以下方式进行: 1. 登录壹米滴答官网 登录www.yimidida.com网址,点击页面右上角的登录按钮,输入用户名和密码进行登录。登录成功后,在用户中心可……
  • 壹米滴答物流是什么平台 壹米滴答物流是什么平台 壹米滴答是一家中国国际物流快递公司,提供国内外物流配送服务。 1. 公司简介 壹米滴答成立于2013年,由深圳市壹米滴答供应链管理有限公司运营。现已开通200多个国家和地区的……

黑帽学习 更多 >>