之前flask启用程序代码和逻辑代码都是在一个页面,这样代码多了很自然不利于关于,如果要将逻辑代码和进行分离,这里需要用到Falsk的蓝图(Blueprint)

项目结构

app文件夹为项目最外层文件夹,web作为项目里的一个模块,

web下的articel和category文件为两个业务文件

如果需要articel和category文件能为正常注册访问,则需要使用蓝图来注册

在web下面新建__init__.py文件,里面相关代码

from flask import Blueprint
##实例化蓝图对象
web=Blueprint('web',__name__)
from app.web import article,category app文件下面新建__init__.py文件
相关代码
from flask import Flask

##实例化全局app对象
def create_app():
app = Flask(__name__)
from app.web import web
##注册蓝图对象
app.register_blueprint(web) return app

最外层app.y文件里相关代码:

from app import create_app

if __name__ == '__main__':

   ##调用创建实例对象
app=create_app() app.run(port=5002, debug=True)
app/web下article.py相关代码
##导入__init.py文件下蓝图app对象
from app.web import web
from flask import render_template @web.route('/article')
def list():
return render_template('web/articel.html',message='this is article2 page') @web.route('/')
def index():
return render_template('web/articel.html',message='this is article page')
##全局处理异常,如果是404状态则执行该函数
@web.app_errorhandler(404)
def err_404(e):
return render_template('404.html',message=e)
pass
##全局处理异常,如果是500状态错误则执行该函数
@web.app_errorhandler(500)
def err_500(e):
return render_template('500.html',message=e)
pass

templates /web下article.html相关代码

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body>
{{ message }}
</body>
</html>

启动项目访问127.0.0.1:5000

访问http://127.0.0.1:5000/article

												

flask之蓝图BulePrint使用的更多相关文章

  1. Flask 中蓝图的两种表现形式

    最近在学Flask,特有的@X.route 很适合RESTfuld API, 一般小型应用,在一个py文件中就可以完成,但是维护起来比较麻烦. 想体验Django那样的MVT模式, 看到 Flask提 ...

  2. Flask - Flask的蓝图(BluePrint)

    目录 Flask - Flask的蓝图(BluePrint) 一. 初始Flask蓝图 进阶Flask蓝图 使用蓝图做一个增删改查 1.使用蓝图进行web应用搭建: 2.使用Flask蓝图,查看学生信 ...

  3. Python Flask Blueprint 蓝图

    Python Flask Blueprint 蓝图 本篇来了解一下 Flask 中 Blueprint 蓝图,什么蓝图 ..就是一个分模块的扩展而已,用来让不同的 业务模块api 分到不同的pytho ...

  4. python flask框架 蓝图的使用

    蓝图的目的是实现 各个模块的视图函数写在不同的py文件当中. 主视图 中 导入 分路由视图的模块,并且注册蓝图对象 分路由视图中 利用 蓝图对象 的route 进行装饰视图函数 主路由视图函数: #c ...

  5. Flask的蓝图和红图

    1.蓝图 对于简单的项目来说,比如项目就只有一个user模块,我们可以都将视图函数定义在一个文件里面,不需要用到蓝图. 但是如果我们的项目有多个模块,如下有v1模块,v2模块.....等,那么如果我们 ...

  6. flask Blueprint蓝图

    首先要了解蓝图的作用,模拟场景在团队开发过程中团队每个人都在写自己负责的功能模块,那多个py文件模板,我们如果完成后需要运行是不是要运行多个服务?但是我们的项目是一个整体,而不是零散的,所以我们怎么把 ...

  7. flask框架----蓝图

    蓝图(flask中多py文件拆分都要用到蓝图) 如果代码非常多,要进行归类.不同的功能放在不同的文件,吧相关的视图函数也放进去.蓝图也就是对flask的目录结构进行分配(应用于小,中型的程序), 小中 ...

  8. flask使用蓝图,创建副本

    随着flask的发展,flask框架越来越复杂,我们需要进行模块化处理,因为之前学过python模块化管理,我可以对一个flask程序进行简单的模块化处理. 我们都有一个博客程序,由此可知博客的前端界 ...

  9. flask session,蓝图,装饰器,路由和对象配置

    1.Flask 中的路由   *endpoint - url_for 反向地址  *endpoint 默认是视图函数名  *methods 指定视图函数的请求方式,默认GET  defaults={& ...

随机推荐

  1. 泡泡一分钟: A Linear Least Square Initialization Method for 3D Pose Graph Optimization Problem

    张宁 A Linear Least Square Initialization Method for 3D Pose Graph Optimization Problem "链接:https ...

  2. 深入学习c++--智能指针(四)--使用建议

    1. 不要自己手动管理资源 2. 一个裸指针不要用两个shared_ptr管理,unique_ptr 3. 使用shared_ptr作为函数的接口,如果有可能用 const shared_ptr&am ...

  3. LeetCode_371. Sum of Two Integers

    371. Sum of Two Integers Easy Calculate the sum of two integers a and b, but you are not allowed to ...

  4. 【opencv基础-VxWorks】话说图像格式转换-COLOR_YUV2BGR_YUY2

    前言 基于Vxworks的WindRiver获取摄像头图像进行处理,需要先进行转换,对于转换格式博主有点疑问.本文对此作出解释,若有错误,请交流指正. README.md The video came ...

  5. 【JQuery插件】团购倒计时

    案例截图 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN""http://www.w3. ...

  6. 14点睛Spring4.1-脚本编程

    转发:https://www.iteye.com/blog/wiselyman-2212678 14.1 Scripting脚本编程 脚本语言和java这类静态的语言的主要区别是:脚本语言无需编译,源 ...

  7. 【GStreamer开发】GStreamer播放教程09——数字音频传输

    目标 本教程展示GStreamer是如何进行数字音频传输的. 介绍 在常见的模拟格式外,高端的音频系统通常都接受数字格式,压缩的非压缩的都能接受.因为音频信号是从电脑传到音箱,用一种更有弹性的形态会更 ...

  8. centOS安装配置NFS

    环境 nfs 192.168.56.101 client 192.168.56.102 一.yum 安装 yum -y install nfs-utils rpcbind 192.168.56.101 ...

  9. scrapy,Twisted,pywin32安装

    安装包链接   百度云下载    https://pan.baidu.com/s/1V191nOtEDInxd_fkyi5siQ&shfl=sharepset Linux pip3 insta ...

  10. 修复ubuntu 安装mysql后必须使用sudo问题

    修改root用户 查看用户的权限,是否是mysql_native_password,如果不是,则将auth_sock改为mysql_native_password update user set pl ...