iis服务器助手广告广告
返回顶部
首页 > 资讯 > 后端开发 > Python >深入了解Python Flask框架之蓝图
  • 769
分享到

深入了解Python Flask框架之蓝图

2024-04-02 19:04:59 769人浏览 薄情痞子

Python 官方文档:入门教程 => 点击学习

摘要

随着flask项目越来越复杂,把所有视图函数放在一个应用文件中会很不方便我们管理,所以需要对程序进行模块化的处理。Flask内置了一个模块化处理的类——Blueprint蓝图。 Bl

随着flask项目越来越复杂,把所有视图函数放在一个应用文件中会很不方便我们管理,所以需要对程序进行模块化的处理。Flask内置了一个模块化处理的类——Blueprint蓝图。

Blueprint 是一种组织一组相关视图及其他代码的方式。与把视图及其他代码直接注册到应用的方式不同,蓝图方式是把它们注册到蓝图,然后在工厂函数中把蓝图注册到应用。

简单来说就把app应用分为很多个小模块,把这些小模块放在一个包里,这个包叫做蓝图,如下图所示:

项目目录如下图所示:

这里创建了一个名为apps的包,我们这个包称为蓝图,在这个包中,我们又创建了三个包,那么我们如何把蓝图与app.py联系起来呢。这时我们就要通过init.py初始化文件来把蓝图与app.py。

首先我们在user包中创建一个视图函数文件名为view,代码如下所示:


from flask import Blueprint
user_bp= Blueprint('user',__name__)

首先导入Blueprint包,再通过Blueprint()方法来定义变量user_bp为蓝图对象。

init.py初始化文件代码如下所示:


from flask import Flask
from apps.user.view import user_bp
​
def create_app(): 
    app=Flask(__name__,template_folder='../templates',static_folder='../static')
​
    #蓝图
    app.reGISter_blueprint(user_bp) 
    return app

首先我们导入user中的view对象user_bp,自定义函数create_app()并创建一个app对象,然后通过app.register_blueprint()方法将蓝图对象绑定在app对象上。

注意:由于init.py初始化文件与static静态文件、templates模板文件不在同一级,所以需要重新指定静态文件与模板文件的位置。

接下来编写app.py启动文件,代码如下所示:


from flask import Flask
from apps.user.view import user_bp
​
def create_app(): 
    app=Flask(__name__,template_folder='../templates',static_folder='../static')
​
    #蓝图
    app.register_blueprint(user_bp) 
    return app

代码很简单,直接导入view文件中的create_app并调用create_app()。

这样app.py文件就和蓝图包联系起来了。

注意:上面的文件名、蓝图名、视图函数名都可以是任意的。

那么我们蓝图的视图函数有什么变化呢?

以上面的view视图函数文件为例,其代码内容如下所示:


from flask import Blueprint, request, render_template, redirect
from apps.user.model import User
 
user_bp= Blueprint('user',__name__)        #蓝图对象
 
@user_bp.route('/')
def hello():
    return '你好'

与之前的在app.py中写视图函数将比,将之前的@app.route()改为蓝图对象名.route(),其他的就几乎一样。

总结

本篇文章就到这里了,希望能够给你带来帮助,也希望您能够多多关注编程网的更多内容!

--结束END--

本文标题: 深入了解Python Flask框架之蓝图

本文链接: https://www.lsjlt.com/news/159449.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • 深入了解Python Flask框架之蓝图
    随着Flask项目越来越复杂,把所有视图函数放在一个应用文件中会很不方便我们管理,所以需要对程序进行模块化的处理。Flask内置了一个模块化处理的类——Blueprint蓝图。 Bl...
    99+
    2024-04-02
  • 深入了解PyQt5中的图形视图框架
    目录1.QGraphicsItem图元类2.QGraphicsScene场景类3.QGraphicsView视图类4.图形视图的坐标体系5.小结在之前的章节中,笔者一般使用QLabe...
    99+
    2024-04-02
  • Python中的flask框架详解
    Flask是一个Python编写的Web 微框架,让我们可以使用Python语言快速实现一个网站或Web服务。本文参考自Flask官方文档,大部分代码引用自官方文档。 安装flask...
    99+
    2024-04-02
  • 深入剖析Flask框架安装:详细解读安装Flask框架的技巧,助你顺利完成
    Flask框架安装解析:深入剖析Flask框架的安装细节,让你安装更加顺利,需要具体代码示例 引言:Flask是一个流行的Python Web开发框架,它简洁而灵活,适用于各种规模的项...
    99+
    2024-02-25
    框架 flask 安装 python安装
  • 深入了解Django:Python中的Web应用框架
    Django是Python语言中最受欢迎的Web应用框架之一,它的目的是帮助开发者快速构建高质量,易于维护的Web应用程序。如果你正在寻找一种快速开始Web开发的方法,那么Django就是一个很好的选择。 在这篇文章中,我们将探...
    99+
    2024-01-19
    Python django Web应用框架
  • Flask深入了解Jinja2引擎的用法
    目录Jinja2Jinja2语句扩展Jinja2模板继承Jinja2 想象一下这样一个场景,如果对于某个网站来说,如果你充值了Vip,你才可以看到隐藏内容了。你该怎么做呢? 这个适合...
    99+
    2024-04-02
  • 深入了解Python二维直方图
    目录前言一、OpenCV中的二维直方图二、Numpy中的二维直方图三、直方图示例1、使用Numpy函数计算直方图2、使用OpenCV函数计算直方图前言 只统计像素的灰度值这一特征,可...
    99+
    2024-04-02
  • 深入了解:五种必备的CSS布局框架
    深入研究:五个必知的CSS布局框架 在前端开发中,CSS是我们日常工作中必不可少的一部分。而对于页面布局来说,CSS的应用更是至关重要。为了提高开发效率和降低重复劳动,许多前端工程师开发了各种CSS布局框架。在本文中,我们将深入...
    99+
    2024-01-16
    深入研究 CSS布局框架 必知
  • 深入了解PNG图片
    本篇内容主要讲解“深入了解PNG图片”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“深入了解PNG图片”吧! 1、PNG图片类型PNG...
    99+
    2024-04-02
  • 深入了解五种常见的CSS布局框架解析
    了解CSS布局框架:五种常见布局解析 在网页设计与开发中,CSS布局是一个非常重要的方面。一个好的布局可以使网页更加美观、功能更加完善。而了解CSS布局框架的知识,则能够帮助我们更好地掌握网页的布局技巧。本文将介绍五种常见的CS...
    99+
    2024-01-16
    解析 CSS布局框架 常见布局
  • JavaOkHttp框架源码深入解析
    目录1.OkHttp发起网络请求可以通过OkHttpClient发起一个网络请求通过Retrofit发起一个OkHttp请求2.OkHttp的连接器1.OkHttp发起网络请求 可以...
    99+
    2024-04-02
  • 深入了解Java和Django的响应式框架构建
    Java和Django都是非常流行的Web开发框架。它们都拥有自己的优点和特点,但是它们都可以使用响应式框架进行构建。在本文中,我们将深入了解Java和Django响应式框架的构建。 响应式编程是一种编程范式,它可以让我们更加灵活地处理异步...
    99+
    2023-09-07
    django 响应 框架
  • python中的flask框架Jinja 模板入门教程
    目录1、快速体验2、Flask 最小 DEMO3、模板继承4、Super Blocks5、Macros6、自定义过滤器7、结论Flask 和 Django 附带了强大的 Jinja ...
    99+
    2024-04-02
  • Android图片框架Glide原理深入探索
    目录withloadinto原理总结缓存LruCache首先引入依赖     implementation 'com.github.bumptech.gl...
    99+
    2022-11-13
    Android Glide原理 Android Glide
  • 如何深入了解Python二维直方图
    本篇文章给大家分享的是有关如何深入了解Python二维直方图,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。前言只统计像素的灰度值这一特征,可将其成为一维直方图。二维直方图可以统...
    99+
    2023-06-22
  • Python 深入了解opencv图像分割算法
    本文主要是基于Python Opencv 实现的图像分割,其中使用到的opencv的函数有: 使用 OpenCV 函数 cv::filter2D 执行一些拉普拉斯滤波以进行...
    99+
    2024-04-02
  • 深入了解CSS框架:探索前端世界中常见的框架有哪些
    探索前端世界:了解常见CSS框架有哪些,需要具体代码示例 ​CSS (层叠样式表)是一种用于描述页面样式的语言,它为网页提供了丰富的视觉效果和交互特效。作为前端开发者,对于CSS的理解和掌握是必不可少的。而在实际开发中,使用CS...
    99+
    2024-01-16
    常见 CSS框架 前端世界
  • Java面试:深入了解Load框架的优势和不足!
    在Java开发中,有许多框架可以帮助我们快速地完成开发任务。其中,Load框架是一个十分优秀的框架,它可以帮助我们快速地构建一个高效稳定的应用程序。本文将深入探讨Load框架的优势和不足,希望能够帮助读者更好地理解和使用该框架。 一、Lo...
    99+
    2023-11-09
    load 框架 面试
  • 深入理解DevOps+微服务框架
    单体架构 单体架构是什么 在搞懂DevOps和微服务之前,需要先搞懂什么是单体应用/单体架构。简单来说,就跟在校的一些小项目一样,项目的Demo写好了,找一台服务器安装环境,然后把j...
    99+
    2024-04-02
  • JavaEE微框架Spring Boot深入解读
    前言spring框架作为JavaEE框架领域的一款重要的开源框架,在企业应用开发中有着很重要的作用,同时Spring框架及其子框架很多,所以知识量很广。Spring Boot:一款Spring框架的子框架,也可以叫微框架,是2014年推出的...
    99+
    2023-05-31
    spring boot javaee
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作