《Flask web开发》第七章一直报错

问题描述

第六章的hello.py还可以正常运行,一到第7章就报错

相关代码

manage.py代码

import os

from app import create_app, db

from flask_script import Manager, Shell

from flask_migrate import Migrate, MigrateCommand

app = create_app(os.getenv('FLASK_CONFIG') or 'default')

manager = Manager(app)

migrate = Migrate(app, db)

def make_shell_context():

return dict(app=app, db=db, User=User, Role=Role)

manager.add_command("shell", Shell(make_context=make_shell_context))

manager.add_command('db', MigrateCommand)

@manager.command

def test():

"""Run the unit tests."""

import unittest

tests = unittest.TestLoader().discover('tests')

unittest.TextTestRunner(verbosity=2).run(tests)

if __name__ == '__main__':

manager.run()

__init__.py代码

from flask import Flask, render_template

from flask_bootstrap import Bootstrap

from flask_mail import Mail

from flask_moment import Moment

from flask_sqlalchemy import SQLAlchemy

from config import config

bootstrap = Bootstrap()

mail = Mail()

moment = Moment()

db = SQLAlchemy()

def create_app(config_name):

app = Flask(__name__)

app.config.from_object(config[config_name])

config[config_name].init_app(app)

bootstrap.init_app(app)

mail.init_app(app)

moment.init_app(app)

db.init_app(app)

from .main import main as main_blueprint

app.register_blueprint(main_blueprint)

# 附加路由和自定义的错误页面

return app

views.py代码

from datetime import datetime

from flask import render_template, session, redirect, url_for

from . import main

from .forms import NameForm

from .. import db

from ..models import User

@main.route('/', methods=['GET', 'POST'])

def index():

form = NameForm()

if form.validate_on_submit():

# ...

return redirect(url_for('.index'))

return render_template('index.html',

form=form, name=session.get('name'),

known=session.get('known', False),

current_time=datetime.utcnow())

文件结构如下图
《Flask web开发》第七章一直报错
错误如下

flask.cli.NoAppException: While importing "manage", an ImportError was raised:

Traceback (most recent call last):

File "/home/gqc/flasky/venv/lib/python3.6/site-packages/flask/cli.py", line 240, in locate_app

__import__(module_name)

File "/home/gqc/flasky/manage.py", line 6, in <module>

app = create_app(os.getenv('FLASK_CONFIG') or 'default')

File "/home/gqc/flasky/app/__init__.py", line 24, in create_app

from .main import main as main_blueprint

File "/home/gqc/flasky/app/main/__init__.py", line 5, in <module>

from . import views, errors

File "/home/gqc/flasky/app/main/views.py", line 5, in <module>

from .forms import NameForm

ImportError: cannot import name 'NameForm'

以上是 《Flask web开发》第七章一直报错 的全部内容, 来源链接: utcz.com/a/157766.html

回到顶部