flask 启动了但是无法访问_Flask 蓝图机制及应用

本文介绍了Flask项目启动后无法访问特定路由的问题,该问题由循环导入引起。文章详细分析了循环导入导致的两个不同app实例,从而解释了视图函数未被正确注册的原因。为解决此问题,文章引入了Flask的蓝图机制,通过创建蓝图并注册视图函数,实现了模块化的应用结构。最后,验证了蓝图应用的正确性,确保所有路由能够正常响应。
摘要由CSDN通过智能技术生成

c03153eee1dd1a050a8d17d563913ddd.png

我们都知道 flask 是一个轻量级的 web 框架,相对于其他同类型框架更为灵活、轻便、安全且容易上手。开发者可以随意编写自己想要的项目结构,同时还有很多的第三方库供君选择。但是灵活的同时也带来了相应的问题,比如对很多初学者来说,建的项目结构混乱,不易维护,还有经典的循环导入等问题

循环导入问题

很多初学者喜欢将启动文件和多个路由写在同一个文件中,例如以下代码:

9de9e17ecb0aeb9397cef00b24ca9652.png

这样一旦随着视图函数的增多,代码的可维护性会变得越来越差。所以有必要对视图函数进行拆分。
我们将其拆分成两个文件:run.py 和 view.py,其中 run.py 作为程序的启动文件,因为要将路由注册到 flask 核心对象上,所以在 view.py 中需要导入核心对象,同时 run.py 中要导入 view。最终,代码和项目结构如下所示:

cff2d7e27c8ba32ecb69b5cb057bfbf9.png

run.py

 1# coding: utf-8
2__author__ = 'Jerry'
3
4from flask import Flask
5
6app = Flask(__name__)
7
8from app.web import view
9
10
11@app.route("/")
12def index():
13    return 'Hello World'
14
15
16if __name__ == '__main__':
17    app.run()

view.py

 1# coding: utf-8
2__author__ = 'Jerry'
3from flask import request
4
5from run import app
6
7@app.route("/add")
8def add():
9    name = request.
  • 3
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值