无法加载modu

2024-04-26 05:10:23 发布

您现在位置:Python中文网/ 问答频道 /正文

我是Python和Flask模块的新手。我运行代码后出错。我的代码如下所示:

from flask import Flask, render_template, url_for
from sqlalchemy import sql
from datetime import datetime

app = Flask(__name__)
app.config['SQLALCHEMY_DATABASE_URI'] = 'sqlite:///test.db'
db = sql(app)

class Todo(db.Model):
    id = db.Column(db.Integer, primary_key=True)
    content = db.Column(db.String(200), nullable=False)
    date_created = db.Column(db.DateTime, default=datetime.utcnow)

    def __repr__(self):
        return '<Task %r>' % self.id

@app.route('/')
def index():
    return render_template('index.html')

if __name__ == "__main__":
    app.run(debug=True)

我需要继续这个代码来创建一个网站。但是,我从line 7得到一个错误,即:

TypeError: 'module' object is not callable

Tags: 代码namefromimportidtrueappflask
2条回答

你可以像这样改变你的代码,使用炼金术

from flask import Flask
from flask_sqlalchemy import SQLAlchemy
from datetime import datetime

app = Flask(__name__)
app.config['SQLALCHEMY_DATABASE_URI'] = 'sqlite:////tmp/test.db'
db = SQLAlchemy(app)

class Todo(db.Model):
    id = db.Column(db.Integer, primary_key=True)
    content = db.Column(db.String(200), nullable=False)
    date_created = db.Column(db.DateTime, default=datetime.utcnow)

    def __repr__(self):
        return '<Task %r>' % self.id

@app.route('/')
def index():
    return render_template('index.html')

if __name__ == "__main__":
    app.run(debug=True)

您不应该直接使用sqlalchemy包(无论如何,您做得不对)。将SQLAlchemy与烧瓶一起使用的正确方法是:

from flask_sqlalchemy import SQLAlchemy
...
db = SQLAlchemy(app)

相关问题 更多 >