Flask 烧瓶蓝图;找不到名为的模块

Flask 烧瓶蓝图;找不到名为的模块,flask,importerror,blueprint,Flask,Importerror,Blueprint,我正试图让Flask蓝图在Docker中运行,但在正确注册蓝图方面存在问题 我的结构如下: ├── docker-compose.yml ├── nginx │   ├── Dockerfile │   └── sites-enabled │   └── flask_project └── web ├── Dockerfile ├── __init__.py ├── app.py ├── modules │   ├── __init__.py

我正试图让Flask蓝图在Docker中运行,但在正确注册蓝图方面存在问题

我的结构如下:

├── docker-compose.yml
├── nginx
│   ├── Dockerfile
│   └── sites-enabled
│       └── flask_project
└── web
    ├── Dockerfile
    ├── __init__.py
    ├── app.py
    ├── modules
    │   ├── __init__.py
    │   └── page
    │       ├── __init__.py
    │       ├── forms.py
    │       ├── models.py
    │       ├── views.py
    ├── requirements.txt
    ├── static
    │   ├── css
    │   │   ├── bootstrap.min.css
    │   │   └── main.css
    │   ├── img
    │   └── js
    │       └── bootstrap.min.js
    └── templates
        ├── _base.html
        └── index.html
app.py包含:

from flask import Flask
from web.modules.page import simple_page

app = Flask(__name__)

app.register_blueprint(simple_page)

if __name__ == '__main__':
    print app.url_map
    app.run(debug=True)
from flask import Blueprint

simple_page = Blueprint('simple_page', __name__,
                  template_folder='templates')

@simple_page.route('/')
def index():
  return "Hello world"
views.py包含:

from flask import Flask
from web.modules.page import simple_page

app = Flask(__name__)

app.register_blueprint(simple_page)

if __name__ == '__main__':
    print app.url_map
    app.run(debug=True)
from flask import Blueprint

simple_page = Blueprint('simple_page', __name__,
                  template_folder='templates')

@simple_page.route('/')
def index():
  return "Hello world"
\uuuuu init\uuuuuuuuuuuuuuuuuuuupy
第页下:

from web.modules.page.views import simple_page
\uuuu init\uuuu.py
文件为空

控制台给出一个提示:没有名为web.modules.page的模块


谢谢你抽出时间

看起来是结构问题,您可以从这里参考:

下面是我的例子,希望能对您有所帮助:

├── app
│   ├── __init__.py
│   ├── main
│   │   ├── __init__.py
│   │   └── views.py
│   ├── models
│   │   └── __init__.py
│   ├── static
│   │   ├── css
│   │   ├── js
│   │   ├── img
│   │   └── file
│   ├── templates
│   │   └── index.html
└── master.py
app/\uuuu init\uuuuu.py

from flask import Flask
from app.main import main

def create_app():
    app = Flask(__name__)    
    app.register_blueprint(main)

    return app
from flask import Blueprint

main = Blueprint('main', __name__)

from app.main import views
from app import create_app

if __name__ == '__main__':
    app = create_app()
    app.run(host='0.0.0.0', port=8000, threaded=True)
app/main/\uuuuuu init\uuuuuuu.py

from flask import Flask
from app.main import main

def create_app():
    app = Flask(__name__)    
    app.register_blueprint(main)

    return app
from flask import Blueprint

main = Blueprint('main', __name__)

from app.main import views
from app import create_app

if __name__ == '__main__':
    app = create_app()
    app.run(host='0.0.0.0', port=8000, threaded=True)
master.py

from flask import Flask
from app.main import main

def create_app():
    app = Flask(__name__)    
    app.register_blueprint(main)

    return app
from flask import Blueprint

main = Blueprint('main', __name__)

from app.main import views
from app import create_app

if __name__ == '__main__':
    app = create_app()
    app.run(host='0.0.0.0', port=8000, threaded=True)

这是一个完全不同的文件夹结构。它无法回答为什么应用程序无法访问web.module.page模块。我遇到了完全相同的问题,我通过删除项目名称解决了这个问题。因此,将web.modules.page.views导入简单_页面更改为from modules.page.views导入简单_页面,应该可以正常工作。感谢您的帮助,@Avinash。你应该将此作为答案发布。