之前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. osg Error osgearth_viewerd fails with "Loaded scene graph does not contain a MapNode

    void StateSet::setGlobalDefaults() ShaderPipeline disabled.void StateSet::setGlobalDefaults() Shader ...

  2. Glide图片加载过程(简)

    iceIC 关注 2018.10.25 20:53* 字数 906 阅读 529评论 0喜欢 1 调研版本为4.7.1为了更加简单的理解,会将函数代码简化,详细代码请自行照源码对比 Glide用法 G ...

  3. 使用idea创建简单的webservice服务

     New project: 生成HelloWorld.wsdl: 配置好tomcat后还需要加入 Axis 的库: 启动后,访问http://localhost:8080/services: 点击He ...

  4. 基于EasyDSS流媒体解决方案创建视频点播、短视频、视频资源库等视频播放系统

    随着前端技术的不断发展,视频点播早已不再是IE6时代的浏览器嵌入式Windows Media Player.也不是后来的flash media player需要的rtmp点播流,现在能够唯一满足全终端 ...

  5. centos配置/etc/mail.rc发邮件

    安装mailx: yum install mailx vi /etc/mail.rc set from=524755798@qq.comset smtp="smtps://smtp.qq.c ...

  6. CentOS7 配置sendmial + PHP mail函数发送邮件

    https://blog.csdn.net/jiabangok/article/details/51840556

  7. 【Leetcode_easy】929. Unique Email Addresses

    problem 929. Unique Email Addresses solution: class Solution { public: int numUniqueEmails(vector< ...

  8. linux 大量time_wait的解决方法

    通过调整内核参数解决vi /etc/sysctl.conf 编辑文件,加入以下内容:net.ipv4.tcp_syncookies = 1net.ipv4.tcp_tw_reuse = 1net.ip ...

  9. poj1228(稳定凸包+特判最后一条边)

    题目链接:https://vjudge.net/problem/POJ-1228 题意:我是真的没看懂题意QAQ...搜了才知道.题目给了n个点,问这n个点确定的凸包是否能通过添加点来变成一个新的凸包 ...

  10. 【转帖】kubernetes 部署ingress

    kubernetes 部署ingress https://www.cnblogs.com/dingbin/p/9754993.html 明天尝试一下 之前的文档里面一直没有提 需要改host文件 我有 ...