擅长:python、mysql、java
<p>一个原始的app.py:<a href="https://flask-sqlalchemy.palletsprojects.com/en/2.x/quickstart/" rel="nofollow noreferrer">https://flask-sqlalchemy.palletsprojects.com/en/2.x/quickstart/</a></p>
<pre><code>...
app = flask.Flask(__name__)
app.config['DEBUG'] = True
app.config['SQLALCHEMY_DATABASE_URI'] = 'sqlite:////tmp/test.db'
db = flask.ext.sqlalchemy.SQLAlchemy(app)
class Person(db.Model):
id = db.Column(db.Integer, primary_key=True)
...
class Computer(db.Model):
id = db.Column(db.Integer, primary_key=True)
...
# Create the database tables.
db.create_all()
...
# start the flask loop
app.run()
</code></pre>
<p>我只是将一个app.py拆分为app.py和model.py,而没有使用Blueprint。在那种情况下,上面的答案不起作用。需要行代码才能工作。</p>
<p><strong>之前:</p>
<pre><code>db.init_app(app)
</code></pre>
<p><strong>之后:</p>
<pre><code>db.app = app
db.init_app(app)
</code></pre>
<p>下面的链接非常有用。</p>
<p><a href="http://piotr.banaszkiewicz.org/blog/2012/06/29/flask-sqlalchemy-init_app/" rel="nofollow noreferrer">http://piotr.banaszkiewicz.org/blog/2012/06/29/flask-sqlalchemy-init_app/</a></p>