文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

Python Flask框架怎么使用

2023-06-22 00:33

关注

这篇文章主要介绍“Python Flask框架怎么使用”,在日常操作中,相信很多人在Python Flask框架怎么使用问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Python Flask框架怎么使用”的疑惑有所帮助!接下来,请跟着小编一起来学习吧!

目录

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

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

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

Python Flask框架怎么使用

项目目录如下图所示:

Python Flask框架怎么使用

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

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

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

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

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

from flask import Flaskfrom apps.user.view import user_bpdef 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 Flaskfrom apps.user.view import user_bpdef 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, redirectfrom apps.user.model import User user_bp= Blueprint('user',__name__)        #蓝图对象 @user_bp.route('/')def hello():    return '你好'

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

到此,关于“Python Flask框架怎么使用”的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注编程网网站,小编会继续努力为大家带来更多实用的文章!

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-后端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯