flask blueprint 404
时间: 2023-08-16 17:08:32 浏览: 279
Flask的蓝图(Blueprint)模块是用于模块化组织Flask应用程序的一种方式,可以将不同的功能模块拆分成不同的蓝图,并在主应用程序中进行注册。根据你提供的引用内容,出现404错误可能是因为蓝图的注册位置或者蓝图定义的路由有问题。
在引用中,你将蓝图的注册代码放在了视图函数之前,导致蓝图中定义的路由无法正常被访问。正确的做法是将蓝图的注册代码放在视图函数之后,如下所示:
```python
from flask import Flask, Blueprint, request
app = Flask(__name__)
blue = Blueprint('testLearn', __name__)
@blue.route('/learn', methods=['GET', 'POST'])
def learn():
if request.method == 'POST':
return 'hello word'
app.register_blueprint(blue, url_prefix='/admin')
if __name__ == '__main__':
app.run()
```
在引用中,你提到了在另一个示例中出现了相同的404错误。根据你的描述,这个问题可能是因为路由的定义没有正确地与蓝图关联。你需要确保在蓝图对象上使用装饰器来定义路由,而不是在主文件中直接定义路由。同时,你需要在主文件中将蓝图对象注册到应用程序中。以下是一个示例:
```python
from flask import Flask, Blueprint, request
app = Flask(__name__)
user_blue = Blueprint('user', __name__, url_prefix='/user')
admin_blue = Blueprint('admin', __name__, url_prefix='/admin')
@user_blue.route('/login', methods=['GET', 'POST'])
def login():
if request.method == 'POST':
return 'hello user'
@admin_blue.route('/dashboard', methods=['GET'])
def dashboard():
return 'admin dashboard'
app.register_blueprint(user_blue)
app.register_blueprint(admin_blue)
if __name__ == '__main__':
app.run()
```
在这个示例中,我们使用了两个蓝图对象:`user_blue`和`admin_blue`,分别对应用户模块和管理员模块。我们在蓝图对象上使用了装饰器来定义路由,并将这些蓝图对象注册到主应用程序中。
希望这些解释可以帮助你解决Flask Blueprint出现的404错误。如果问题仍然存在,请提供更多的详细信息,以便我能够更好地帮助你。<span class="em">1</span><span class="em">2</span><span class="em">3</span>
#### 引用[.reference_title]
- *1* *3* [Flask 使用蓝图接口报错 报 404 not found](https://blog.csdn.net/qq_35880565/article/details/120983923)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT0_1"}}] [.reference_item style="max-width: 50%"]
- *2* [初识flask的blueprint模块,出现404错误](https://blog.csdn.net/qq_41809511/article/details/123999343)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT0_1"}}] [.reference_item style="max-width: 50%"]
[ .reference_list ]
阅读全文