因为写错一个单词导致报错Error: Failed to find Flask application or factory in module 'flaskr'. Use 'flaskr:name' to specify one.

一、问题描述

1、创建了一个flask应用工厂函数,代码如下:

复制代码
import os
from flask import Flask

def create_app(test_config=None):
    # 创建和配置应用程序
    app = Flask(__name__,instance_relative_config=True)
    # 使用from_mapping来更新默认配置
    app.config.from_mapping(
        SECRET_KEY = 'dev',
        DATABASE = os.path.join(app.instance_path,'flaskr.sqlite')
    )
    if test_config is None:
        # 如果配置为None,则使用config.py中的值来重载缺省配置
        app.config.from_pyfile('config.py',silent=True)
    else:
        # 设置应用默认配置
        app.config.from_mapping(test_config)
   
    try:
         # 确保实例文件夹存在
        os.makedirs(app.instance_path)
    except OSError:
        pass

    # 创建一个简单的页面
    @app.route('/hello')
    def hello():
        return 'Hello ,World!'
    
    return app
复制代码

2、使用flask命令运行应用,命令如下:

%export FLASK_APP=flaskr 
%export FLASK_ENV=development
%flask run

3、运行后报错如下:

 

 

二、问题解决

1、起初猜想是不是flaskr这个包里面python文件太多了,因为除了__init__.py文件之外还有其他自己写的.py文件,于是把除了__init__.py的文件全都移走了,再次执行上面的命令还是一样的报错。

2、在网上百度该报错,有些博主写的原因是没return app,但是我的代码是有返回的,所以也不是这个原因。

3、猜想是不是工厂函数名写错导致没有调用到这个函数,仔细看了下函数名,确实写错了,create_app写成了creat_app,修改之后问题解决,成功执行,如下图:

 

posted @   梅梅不想踩坑  阅读(1383)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· winform 绘制太阳,地球,月球 运作规律
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
点击右上角即可分享
微信分享提示