前提・実現したいこと
Pythonのターミナルに「>>> db.create_all()」と入力して、データベースを作成したい。
ここに質問の内容を詳しく書いてください。
PythonでFlaskを使って、タスク管理アプリを作成しようとしています。
発生している問題・エラーメッセージ
sqlalchemy.exc.ArgumentError: Invalid SQLite URL: sqlite://todo.db Valid SQLite URL forms are: sqlite:///:memory: (or, sqlite://) sqlite:///relative/path/to/file.db sqlite:////absolute/path/to/file.db
該当のソースコード
from flask import Flask,render_template from flask_sqlalchemy import SQLAlchemy app = Flask(__name__) app.config["SQLALCHEMY_DATABASE_URI"] = "sqlite:///todo.db" db = SQLAlchemy(app) class Post(db.Model): id = db.Column(db.Integer, primary_key=True) title = db.Column(db.String(30), nullable=False) detail = db.Column(db.String(100)) due = db.Column(db.DateTime, nullable=False) @app.route("/") def index(): return render_template("index.html") if __name__ == "__main__": app.run(debug=True)
試したこと
app.config["SQLALCHEMY_DATABASE_URI"] = "sqlite:///todo.db"
このURLに問題があるとわかったので、スラッシュの数を変えたりしました。
補足情報(FW/ツールのバージョンなど)
Windows10
vs codeを使用
virtualenv 20.10.0
Python 3.85
Flask==2.0.2
Flask-SQLAlchemy==2.5.1
SQLAlchemy==1.4.26
ここにより詳細な情報を記載してください。
回答1件
あなたの回答
tips
プレビュー