当前位置: 首页 > news >正文

网站建设faq系统指什么网站设计与网页制作教程

网站建设faq系统指什么,网站设计与网页制作教程,网页制作实训总结800字,做二手交易网站如何盈利一、蓝图介绍 BluePrint#xff08;蓝图#xff09;: 是一个路由映射容器#xff0c;方便管理#xff0c;不同的功能可以放在一个模块中实现#xff0c;更加解耦。 以下从代码层面分析蓝图是如何使用的 # 定义一个蓝图 simple_page Blueprint(simple_page, __name__, …一、蓝图介绍 BluePrint蓝图: 是一个路由映射容器方便管理不同的功能可以放在一个模块中实现更加解耦。 以下从代码层面分析蓝图是如何使用的 # 定义一个蓝图 simple_page Blueprint(simple_page, __name__, template_foldertemplates)# 绑定视图函数 simple_page.route(/page) def show(page):try:return render_template(pages/%s.html % page)except TemplateNotFound:abort(404)# 在主模块中注册路由 app Flask(__name__) app.register_blueprint(simple_page)从上面的例子首先定义一个蓝图 simple_page然后经由这个蓝图来定义路由以及绑定到视图函数上最后在主模块中注册这个蓝图即可。看起来跟常见的定义视图函数方式一样只不过在添加路由的时候需要以蓝图开头。 二、从代码层面分析蓝图实现 蓝图的功能是在 flask0.7 版本中被加入的app在调用 register_blueprint 方式的时候被调用 Blueprint 类中的 register 方法来注册该蓝图中添加的所有路由。 def register_blueprint(self, blueprint, **options):... blueprint.register(self, options, first_registration)分析一下register 方法 # blueprints.py def register(self, app, options, first_registrationFalse):...state self.make_setup_state(app, options, first_registration)...for deferred in self.deferred_functions:deferred(state)这个方法里面又涉及到两个未知 make_setup_state 、deferred_functions 先看 make_setup_state 函数里有什么 def make_setup_state(self, app, options, first_registrationFalse):return BlueprintSetupState(self, app, options, first_registration)返回了一个类。再看看 deferred_functions 是什么从名字上看是延迟函数之类的 这个流程大致是app.register_blueprint 注册蓝图之后会激活 Blueprint 类中的 register 方法在 register 方法中循环调用 deferred_functions 中的函数来执行这段代码功能就是将蓝图中定义的路由都添加到路由组中。 以上面的蓝图例子 simple_page.route(/, defaults{page: index})蓝图的 route 方法是这样的 def route(self, rule, **options):def decorator(f):self.add_url_rule(rule, f.__name__, f, **options)return freturn decoratorroute 方法是个装饰器实际上调用了 add_url_rule 方法 def add_url_rule(self, rule, endpointNone, view_funcNone, **options):self.record(lambda s: s.add_url_rule(rule, endpoint, view_func, **options))def record(self, func):....self.deferred_functions.append(func)在 record 方法中将 func 添加到了 deferred_functions 列表中而 add_url_rule 中调用了 record 方法那么这就可以解释 register 方法中的这段代码 state self.make_setup_state(app, options, first_registration) ... for deferred in self.deferred_functions:deferred(state)循环 deferred_functions deferred_functions 里面是 lambda具体来说就是蓝图中定义的路由和视图函数我们通过 simple_page.route(/page)定义了路由之后实际上就是在 deferred_functions 里面添加了一个 lambda为什么说它是 defer因为只有在 register 注册的时候才会真正添加到 app 的 url_map 中。 上面代码中的 state 就是一个 BlueprintSetupState 示例这个类里面有一个add_url_rule方法会在全局app的 url_map 中添加路由和视图函数。 def add_url_rule(self, rule, endpointNone, view_funcNone, **options):self.app.add_url_rule(rule, %s.%s % (self.blueprint.name, endpoint),view_func, defaultsdefaults, **options)三、总结 # state 是 BlueprintSetupState 实例 BlueprintSetupState - state# deferred_functions 里面是蓝图路由的lambda lambda s: s.add_url_rule - deferred_functionsfor deferred in self.deferred_functions:deferred(state)意思就是 lambda 中的 s 被赋值为 state 然后state.add_url_rule, 这样就执行了app.add_url_rule
http://www.w-s-a.com/news/249936/

相关文章:

  • 网站建设过程中的收获html5官方网站开发流程
  • 网站建设-信科网络h5美食制作网站模板下载
  • 聊城九洲建设有限公司网站师大暨大网站建设
  • 烟台网站建设学校潍坊市建设监理协会网站
  • 大良营销网站建设资讯建设厅网站总经济师是干什么的
  • 网站优化推广软件网站制作公司dedecms
  • 在哪一个网站做社保申报百度小程序开发平台
  • 东莞网站建设_东莞网页设计网站色调代号
  • 濮阳住房和城乡建设部网站给别人做ppt的网站
  • 电子商务网站建设规划心得广告投放媒体
  • 淘宝店铺购买价格宝应百度seo
  • 同一虚拟主机 2个网站如果网站设计时
  • 网站维护的协议做网站 需要 域名 空间
  • 高安建站公司济宁哪里做网站最便宜
  • 南宁建站免费模板简单的html网页设计
  • 吉林省建设 安全 网站沐风seo
  • 自己做捕鱼网站能不能挣钱软件开发公司需要什么硬件设备
  • 大连设计网站公司3小说网站开发
  • 建设环保网站查询系统网站建设168
  • 保险网站程序源码wordpress过滤敏感
  • 简述营销型网站推广的方法网站建设报价方案模板
  • 四川林峰脉建设工程有限公司网站为什么建设营销型网站
  • 网站模板搭建已经建网站做外贸
  • 网站建设选哪个wordpress实现微信登录界面
  • 网页设计网站哪个公司好学网站开发要多少钱
  • 商务网站建设ppt做视频分享网站
  • WordPress网站根目录有哪些wordpress用户等级
  • 私人装修接单网站重庆制作企业网站
  • 易企秀网站怎么做轮播图什么是网站版面布局
  • 网站开发先写什么后写什么做网站公司专业