我正在用 Flask 制作一个基本的博客网站。我尝试坚持官方文档中提到的最佳推荐实践。我想了解为什么在添加应用程序工厂并在模块和应用程序结构中进行后续更改后,我收到 ImportError: Cannot import name 'app' from 'app'
应用结构:
project:.
| .env
| .gitignore
| config.py
| requirements.txt
| server.py
+---app
| | forms.py
| | routes.py
| | __init__.py
| |
| +---static
| | +---images
| | | ...
| | |
| | +---js
| | | index.js
| | |
| | \---styles
| | ...
| |
| +---templates
| | | ...
| | |
| | \---macros
| | ...
这是代码:
__init__.py
from flask import Flask
def init_app():
"""Initialize the core app"""
app = Flask(__name__, instance_relative_config=False)
app.config.from_object("config.Config")
with app.app_context():
from . import routes
return app
routes.py
from flask import render_template, flash, redirect, url_for
from app import app #I am getting ImportError here
from app.forms import ContactForm
@app.route("/")
def index():
title = "Welcome to Project"
return render_template("hero-page.html", title=title)
@app.route("/gallery/")
def gallery():
return render_template("gallery.html")
@app.route("/about-us/")
def about_us():
return render_template("about-us.html")
config.py
from os import environ, path
from dotenv import load_dotenv
basedir = path.abspath(path.dirname(__file__))
load_dotenv(path.join(basedir, ".env"))
class Config:
"""Set Flask environment variables"""
ENVIRONMENT = environ.get("ENVIRONMENT")
FLASK_APP = environ.get("FLASK_APP")
FLASK_DEBUG = environ.get("FLASK_DEBUG")
SECRET_KEY = environ.get("SECRET_KEY")
我应该添加/修改什么来解决这个错误?
app目录下好像没有app.py。
你应该创建一个app.py文件