Import error flask application
使用此命令运行应用程序时出现此错误'python manage.py运行服务器'
误差
1 2 3 4 5 6 7 8 9 10 | C:\Users\Kamran\Envs\thermos\lib\site-packages\flask_sqlalchemy\__init__.py:800: UserWarning: SQLALCHEMY_TRACK_MODIFICATIONS adds significant overhead and will be disabled by default in the future. Set it to True to suppress this warning. warnings.warn('SQLALCHEMY_TRACK_MODIFICATIONS adds significant overhead and will be disabled by default in the future. Set it to True to suppress this warning.') Traceback (most recent call last): File"manage.py", line 1, in <module> from thermos import app, db File"E:\Kamran\My Work\Website\Python Flask Tutorial\thermos\thermos\__init__.py", line 13, in <module> import models File"E:\Kamran\My Work\Website\Python Flask Tutorial\thermos\thermos\models.py", line 3, in <module> from thermos import db ImportError: cannot import name db |
我也像这样管理我的文件
管理学
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 | from thermos import app, db from thermos.models import User from flask.ext.script import Manager, prompt_bool manager = Manager(app) @manager.command def initdb(): db.create_all() db.session.add(User(username='Cameron', email='[email protected]')) db.session.add(User(username='Mahshid', email='[email protected]')) db.session.commit() print 'Initialized the database' @manager.command def dropdb(): if prompt_bool( 'Are you sure you want to lose all your data'): db.drop_all() print 'Dropped the database' if __name__ == '__main__': manager.run() |
英利
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | import os from flask import Flask from flask_sqlalchemy import SQLAlchemy basedir = os.path.abspath(os.path.dirname(__file__)) app = Flask(__name__) app.config['SECRET_KEY'] = 'K\xa5r\x94\xc2"\x06\x14\'\xc1\xe4\xa6 \x9f\x16\xf9z4hIR\x14g\x1c' app.config['SQLALCHEMY_DATABASE_URI'] = 'sqlite:///' + os.path.join(basedir, 'thermos.db') app.config['DEBUG'] = True db = SQLAlchemy(app) import models import views |
模特儿
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 | from datetime import datetime from sqlalchemy import desc from thermos import db class Bookmark(db.Model): id = db.Column(db.Integer, primary_key=True) url = db.Column(db.Text, nullable=False) date = db.Column(db.DateTime, default=datetime.utcnow) description = db.Column(db.String(300)) user_id = db.Column(db.Integer, db.ForeignKey('user.id'), nullable=False) @staticmethod def newest(num): return Bookmark.query.order_by(desc(Bookmark.date)).limit(num) def __repr__(self): return '<Bookmark"{}":"{}">'.format(self.description, self.url) class User(db.Model): id = db.Column(db.Integer, primary_key=True) username = db.Column(db.String(80), unique=True) email = db.Column(db.String(120), unique=True) bookmarks = db.relationship('Bookmark', backref='user', lazy='dynamic') def __rep__(self): return '<User %r>' % self.username |
VIEW
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 | from flask import render_template, redirect, url_for, flash from thermos import app, db from forms import BookmarkForm from models import User, Bookmark def logged_in_user(): return models.User.query.filter_by(username='Cameron').first() @app.route('/') @app.route('/index') def index(): return render_template('index.html', new_bookmarks=models.Bookmark.newest(5)) @app.route('/add', methods = ['GET', 'POST']) def add(): form = BookmarkForm() if form.validate_on_submit(): url = form.url.data description = form.description.data bm = models.Bookmark(user=logged_in_user(), url=url, description=description) db.session.add(bm) db.session.commit() flash('stored"{}"'.format(description)) return redirect(url_for('index')) return render_template('add.html', form=form) @app.errorhandler(404) def page_not_found(e): return render_template('404.html'), 404 @app.errorhandler(500) def page_not_found(e): return render_template('500.html'), 500 if __name__=='__main__': app.run(debug=True) |
这不是民事进口问题,它对模块的处理不当
在VIEW中
1 2 3 4 | from flask import render_template, redirect, url_for, flash from thermos import models, app, db from forms import BookmarkForm from models import User, Bookmark |