flaskでデータベースが作れません
解決したいこと
データベースを作りたい
flaskでwebアプリを作りたいのですがエラーがでて困っています
you tubeを参考に簡単なwebアプリを勉強中なのですが同じことをしていますができません
htmlコードを記述してローカルサーバーにて起動はできたのですが、次の段階のデータベースの作成がつまづいています
sqlalchemyをインストールして使っています
動画ではpython対話モードにてfrom hello(パイソンモジュール名) import dbと記述してdb.create_all()を実行するとデータベースファイルが作成されるみたいですがfrom hello import db実行で何もログがでずdb.create_all()でエラーがでます
発生している問題・エラー
raise RuntimeError(unbound_message) from None
RuntimeError: Working outside of application context.
This typically means that you attempted to use functionality that needed
the current application. To solve this, set up an application context
with app.app_context(). See the documentation for more information.
該当するソースコード
from flask import Flask
from flask import 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 hello_world():
return render_template("hello.html")
html:index.html
{% extends 'base.html' %}
{% block content %}
<h1>todo</h1>
<article>
<h2>記事1</h2>
<p>作成日時:2021/9/1</p>
<p>こちらは記事1です</p>
</article>
<article>
<h2>記事2</h2>
<p>作成日時:2021/9/3</p>
<p>こちらは記事2です</p>
</article>
{% endblock %}
<!DOCTYPE html>
<html lang="ja">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
</head>
<body>
{% block content %}
{% endblock %}
</body>
</html>
自分で試したこと
上記エラーコードから調べてみたのですが何が悪くて次どうすべきか全くわかりません