【Flask蓝图】 񡀿

原文: http://blog.gqylpy.com/gqy/339

"> 补充一个装饰器



errorhandler 用于重定义错误页面,用法如下:

from flask import Flask

app = Flask(__name__)

@app.errorhandler(404)  # 重新定义404错误页面
def error404(args):
    print(args)  # args是错误详细信息
    return f"您访问的页面不存在或者走丢了{args}"

@app.route('/test01')
def test01():
    return 'test page'

app.run()

# 此时浏览器访问不存在页面时,都将会返回被上面重定义错误信息

????蓝图,听起来就是一个很宏伟的东西,在Flask中的蓝图(Blueprint)也是非常宏伟的。它的作用是将 功能 与主服务 分开。

????比如说,我们有一个客户管理系统,最开始的时候,只有一个查看客户列表的功能,后来我们又加入了一个添加客户的功能模块(add_user),然后又加入了一个删除客户的功能模块(del_user),后来又加入了一个修改客户的功能模块(up_user),在这个系统中,你可以将查看客户、修改客户、添加客户、删除客户的四个功能做成蓝图加入到管理系统中。

下面将以一个简单的示例来说明蓝图的用法

项目目录结构如下:

views.py蓝图文件:

from flask import Blueprint  # 导入蓝图模块
from flask import render_template

test = Blueprint('xx', __name__,
                 url_prefix='/yy',  # 指定url路由前缀
                 template_folder='temp',  # 定义模版文件目录
                 static_folder='sta',  # 定义静态文件目录
                 static_url_path='/xx/sta',  # 定义静态文件url路径
                 )

@test.route('/test01')
def test01():
    return render_template('test01.html')

manager.py文件:

from flask import Flask

# 导入上面的蓝图
from projict01 import views

app = Flask(__name__)

# 在Flask对象中注册导入的蓝图
app.register_blueprint(views.test)

app.run(debug=True)

test01.html文件:

<!DOCTYPE html>
<html lang="zh-CN">
<head>
</head>
<body>
<h1>会心一笑</h1>
<img src="xx/sta/会心一笑.png" alt="图没了">
</body>
</html>

启动项目后,打开浏览器访问:

"

原文: http://blog.gqylpy.com/gqy/339

原文地址:https://www.cnblogs.com/bbb001/p/11372317.html

时间: 2024-10-08 11:04:59

【Flask蓝图】 񡀿的相关文章

flask 蓝图

转自:http://spacewander.github.io/explore-flask-zh/7-blueprints.html 蓝图 什么是蓝图? 一个蓝图定义了可用于单个应用的视图,模板,静态文件等等的集合.举个例子,想象一下我们有一个用于管理面板的蓝图.这个蓝图将定义像/admin/login和/admin/dashboard这样的路由的视图.它可能还包括所需的模板和静态文件.你可以把这个蓝图当做你的应用的管理面板,管它是宇航员的交友网站,还是火箭推销员的CRM系统. 我什么时候会用到

Flask蓝图目录、Flask-SQLAlchemy、Flask-Script、Flask-Migrate

一.Flask蓝图目录 我们之前写的Flask项目都是自己组织的目录结构,其实Flask官方有其推荐的目录结构,以下就是一个符合官方推荐的Flask小型应用的项目结构目录示例,如下: 如图,这就是我们建立好的一个目录结构,一层一层的看一下,首先是app目录,它就是我们的主应用程序目录了,其中有一个__init__.py文件,里面的内容如下: from flask import Flask from .views.acc import acc_bp from .views.user import

Flask 蓝图进行路由分发

Flask 蓝图进行路由分发 Flask虽然说是一个轻型web框架,但也总不能用一个py文件写完全部view吧,所以我们要把路由分到不同的py文件中.这就需要用到蓝图了. 一 创建一个py文件 用于处理分过来的url,如创建music.py from flask import Blueprint music = Blueprint('music', __name__) @music.route("/") # 即 /music/ def roo(): return "music

flask蓝图的使用

首先,我对蓝图的理解相对通俗,就是觉得蓝图对于视图方法模块化.大项目协同开发过程中的一个很好的工具. 1.下图是我们通常情况下使用的项目组织结构 看一下视图方法: #views.py 1 from app import app 2 3 4 @app.route('/user/index') 5 def index(): 6 return 'user_index' 7 8 @app.route('/user/show') 9 def show(): 10 return 'user_show' 11

Python Flask 蓝图Blueprint

1. 目录结构 2. manage.py类似于django中manage import fcrm if __name__ == '__main__': fcrm.app.run(port=8001) 3. fcrm下面的__init__.py文件 from flask import Flask from .views import account #导入fcrm.views目录下account.py模块, from .views import order #导入fcrm.views目录下orde

[py]flask蓝图的使用

参考 flask挺挺轻巧的, 因此玩一玩它. 如果用它做大型点的项目, 就用到了它的蓝图组织项目. 一时半会不太清楚这玩意怎么用, 得撸一撸py基础了. 我搞了个movie小的flask栗子来用用蓝图小功能, git地址如下. 项目分前台 home, 后台admin模块.使用蓝图来组织. https://github.com/lannyMa/movie 首先,我对蓝图的理解相对通俗,就是觉得蓝图对于视图方法模块化.大项目协同开发过程中的一个很好的工具. 1.下图是我们通常情况下使用的项目组织结构

Flask - 蓝图和子域名

 蓝图: 之前我们写的 url 和视图函数都是在同一个文件,如果项目比较大的话,这显然不是一个合理的结构,而蓝图可以优雅的帮我们实现这个需求.例如: from flask import Blueprint bp = Blueprint('user', __name__, url_prefix='/user/') @bp.route('/') def index(): return u"用户首页" @bp.route('/profile/'): def profile(): return

flask蓝图

1.概念 蓝图可以使我们的程序更加模块化,不同功能的路由可以放在不同的模块下,最后集中到启动类中 它的作用就是将功能和主服务分开,类似django中我们创建的每一个app 2.蓝图常见架构方式 2.1 功能式架构 按照每部分的功能来组织应用,模板放在同一文件夹,视图存放同一文件夹 yourapp/ __init__.py static/ templates/ home/ control_panel/ admin/ views/ __init__.py home.py control_panel.

flask蓝图理解

首先,让我们来看下flask应用与蓝图之间的关系.蓝图代表着应用的一个个功能模块,能做到即插即用. 我们先来建立一个蓝图 from flask import Flask, render_template from flask import Blueprint admin = Blueprint('admin', __name__, static_folder='static', template_folder='templates', ) app = Flask(__name__) # url_

flask蓝图的简单使用

1.flask的简单使用 from flask import Flask # from flask import make_response app = Flask(__name__) app.config.from_object('config') print(app.config['DEBUG']) # 路由注册方法1 @app.route('/hello/') def hello(): # 基于类的视图(即插视图) return "Hello, jack" # Response对