`

python3使用蓝本Blueprint

 
阅读更多

在使用flask进行一个项目编写的时候,可能会有许多个模块,很不方便管理维护,flask中便有了blueprint的概念。可以分别定义模块的视图、模板、视图等等,我们可以使用blueprint进行不同模块的编写,不同模块之间有着不同的静态文件、模板文件、view文件,十分方便代码的维护和管理。

目录结构如图:



 run.py代码如下:

 

from flask import Flask
from flask import render_template



app = Flask(__name__)

from routes_mod.user import *
from routes_mod.mobile import *

app.register_blueprint(user,url_prefix='/user')
app.register_blueprint(mobile,url_prefix='/mobile')


@app.route('/')
def hello_world():
    return render_template('index.html')


if __name__ == '__main__':
    # app.run(host='127.0.0.1', port=8888, debug=True)
    app.run(port=8888, debug=True)

 

 

user.py代码如下:

 

# -*- coding:utf-8 -*-
__author__ = '三天',
__time__ = '2018/5/28 下午10:01',
version = '',
from flask import Blueprint,render_template

user=Blueprint('user',__name__)

@user.route('/userinfo')
def userinfo():
    return render_template("user.html")

 

 

mobile.py代码如下:

# -*- coding:utf-8 -*-
__author__ = '三天',
__time__ = '2018/5/28 下午10:01',
version = '',

from flask import Blueprint,render_template

mobile=Blueprint('mobile',__name__)

@mobile.route('/mobileinfo')
def mobileinfo():
    return render_template("mobile.html")

 

index.html代码如下:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>主页</title>
</head>
<body>
    <a href="/user/userinfo">用户信息</a>
    <a href="/mobile/mobileinfo">移动设备</a>
</body>
</html>

 

user.html和mobile.html略。

  • 大小: 53.8 KB
分享到:
评论

相关推荐

    Python 蓝图

    我们如何使用蓝本将上述的视图方法看上去更加pythonic呢? 由于上面的例子中只有两个组件(模块)admin,user,我们可以创建名为admin.py和user.py的两个文件,分别在里面创建两个蓝图的实例对象admin,user. 直接上代码: ...

    Python-Web自测试卷4.docx

    5. Flask使用蓝本(Blueprint)的概念来在一个应用中或跨应用制作应用组件和支持通用的模式。 **简答题:** 1. Django、Flask、Tornado框架的比较: - Django是一个全功能的Web框架,提供模型-视图-控制器(MVC)...

    基于Python的Flask应用模板设计源码

    本项目是一个基于Python语言开发的Flask应用模板,包含30个文件,主要文件类型包括Python...系统设计旨在为用户提供一个便捷的Flask应用开发模板,支持蓝本(Blueprint)的使用,以满足用户在开发Flask应用方面的需求。

    文件同步工具,前端基于vue2.X,后端使用pythonflask框架.zip

    Flask项目通常包含一个主程序文件和若干个蓝本(Blueprint),部署时,可将其运行在如Gunicorn或uWSGI这样的生产级服务器上,配合Nginx作为反向代理,实现负载均衡和静态资源服务。 总之,这个项目结合Vue2.X和...

    python_flask

    3. **模板渲染**:Flask使用Jinja2作为默认的模板引擎。在视图函数中,你可以返回一个字符串或一个渲染后的模板。例如: ```python from flask import render_template @app.route('/hello/&lt;name&gt;') def hello...

    媒资管理课程项目,基于flask.zip

    最后,考虑到系统的扩展性和可维护性,我们可以采用模块化的设计,将各个功能拆分为独立的蓝本(blueprint)。每个蓝本负责一部分功能,比如用户管理蓝本、资源管理蓝本等,这样有利于代码的组织和团队协作。 总的...

    flask-tips:Flask Web开发技巧

    《Flask Web开发技巧》是针对使用Python Flask框架进行Web应用程序构建的一系列实用技巧和最佳实践的总结。Flask是一个轻量级的Web服务器网关接口(WSGI)微框架,它提供了基本的结构来创建动态网站、APIs以及各种...

    Flask项目结构规划以及简要教程.zip

    3. **模型 (models.py)**:这个文件通常包含你的数据库模型,使用SQLAlchemy等ORM(对象关系映射)库定义。例如: ```python from flask_sqlalchemy import SQLAlchemy db = SQLAlchemy() class User(db.Model)...

    Request的中断和ErrorHandler实例解析

    通过使用`@blueprint.app_errorhandler()`装饰器,我们可以为蓝本中的错误设置全局的错误处理器。这样,无论请求是由哪个蓝本处理的,只要触发了错误,相应的错误处理器就会被调用。 ```python from flask import ...

    python框架中flask知识点总结

    有很久没有更新我的博客了,在学习flask去了,别人都说...只有@这个东西是固定的,app 是可以换的,这与蓝本中的定义有关,blueprint给了xx之后在import和@的时候就是xx哦 2.@下面的def就是你会被装饰的函数,至于和谁

    Yu_blog:使用Flask构建的博客

    1. **app.py**:这是Flask应用的入口点,定义了Web应用的核心结构,包括初始化Flask实例、设置路由、引入蓝本(Blueprint)等。 2. **models.py**:这部分代码用于定义数据模型,如博客文章、用户等,通常会涉及...

    flask_asignment3

    10. **最佳实践与项目结构**:遵循良好的编程习惯,如使用蓝本(blueprint)组织大型应用,保持路由清晰,使用工厂函数初始化应用,以及合理划分模型、视图、模板等组件。 总结来说,"flask_asignment3"项目旨在...

    flask中主动抛出异常及统一异常处理代码示例

    然而,如果需要全局处理所有蓝本的异常,我们需要使用 `app_errorhandler`,它会捕获整个应用范围内的异常。首先,我们需要创建一个蓝图来存放我们的错误处理视图: ```python from flask import Blueprint, render...

    一个基于flask的web应用诞生 组织结构调整(7)

    3. 使用`app/__init__.py`初始化Flask应用及其扩展。 4. 引入蓝本(Blueprint)来组织视图方法,如`main`蓝本和`auth`蓝本。 5. 在蓝本中定义视图方法,如`index`和`login`。 这样的结构调整有助于保持代码的整洁,...

    flask项目实现个人博客前后台分离.zip

    在Web开发领域,Flask是一个轻量级的Python Web框架,以其简洁、灵活的特性受到开发者们的喜爱。本项目“flask项目实现个人博客前后台分离”旨在展示如何使用Flask构建一个具备前后台分离功能的个人博客系统。前后台...

    request-flask

    4. 注册蓝本(blueprint),如果应用较大、模块化较强 5. 启动应用:`if __name__ == '__main__': app.run()` HTML 是一种标记语言,用于构建网页结构和内容。在 Flask 应用中,HTML 模板通常与 Jinja2 模板引擎...

Global site tag (gtag.js) - Google Analytics