我已经坚持了3个小时,而我在Google上查找的解决方案根本没有帮助。我正在使用Flask,我的文件结构是这样:
| run.py
|
| core |
__init__.py
routes.py
templates |
... (html)
static |
... (js/css)
我不确定何时会发生错误,但这是我的所有导入文件(它们在每个文件的顶部列出):
在run.py
中:
from core import app
在__init.py__
中:
from core import app, routes
from flask import Flask
from flask_htmlmin import HTMLMIN
from flask_dance.contrib.google import make_google_blueprint
import os
在routes.py
中:
from flask import render_template, redirect, url_for, request, abort
from core import app, blueprint
from werkzeug.exceptions import HTTPException
from flask_dance.contrib.google import google
import requests
答案 0 :(得分:0)
最好的方法是使用蓝图。它使您的应用程序模块化并且易于使用。在此处查看文档Modular applications with Blueprints
总之,您可以让您的应用程序与此设置一起使用:
资料夹结构:
├──|core
│ ├── __init__.py
│ ├── routes.py
│ ├── static
│ └── templates
├── run.py
└── venv
初始化 .py
from flask import Flask
from .routes import main
from flask_htmlmin import HTMLMIN
from flask_dance.contrib.google import make_google_blueprint
import os
def create_app(config_obj=None):
app = Flask(__name__)
app.config.from_object(config_obj)
# register the blueprints
app.register_blueprint(main)
return app
run.py
from core import create_app
class Config:
DEBUG = True
app = create_app(Config)
if __name__ == '__main__':
app.run()
routes.py
from flask import Blueprint
main = Blueprint('main', __name__)
@main.route('/')
def index():
return 'My awesome index page!'