RuntimeError( RuntimeError: 必须设置 'SQLALCHEMY_DATABASE_URI' 或 'SQLALCHEMY_BINDS'

Za*_*uri 4 python flask flask-sqlalchemy

我正在学习基本的 Flask,但无法从 freecodecamp 导入 db(数据库) 我找不到解决方案,请尽快回答此查询 有 4 个文件:当我从 app import db 写入时,pythonshell 显示错误

应用程序.py

from flask import Flask,render_template, url_for
from flask_sqlalchemy import SQLAlchemy
from datetime import datetime

app = Flask(__name__)
app.config['SQLALCHEMY_DATABASE_URL'] = 'sqlite://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)
Run Code Online (Sandbox Code Playgroud)

main.css

body {
    margin: 0;
    font-family: sans-serif;
}
Run Code Online (Sandbox Code Playgroud)

基本.html

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width-device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie-edge">
    <link rel="stylesheet" href= "{{ url_for('static', filename = 'css/main.css')}}">
      
    {% block head %}{% endblock %}
</head>
<body>
    {% block body %}{% endblock %}
</body>
</html>
Run Code Online (Sandbox Code Playgroud)

索引.html

{% extends 'base.html'%}

{% block head %}

{% endblock %}


{% block body %}
<h1>Template</h1>
{% endblock %}
Run Code Online (Sandbox Code Playgroud)

终端窗口

Rah*_*K P 7

db您还需要初始化,

db = SQLAlchemy() # db intitialized here
app = Flask(__name__)
app.config["SQLALCHEMY_DATABASE_URI"] = "sqlite://test.db"
db.init_app(app)
Run Code Online (Sandbox Code Playgroud)

SQLALCHEMY_DATABASE_URI不是SQLALCHEMY_DATABASE_URL