Проблема по базе данных sqlite (Flask)
У меня та же самая проблема по базе данных sqlite (Flask) и ошибка такая же, когда в консоли пишу
>>> from app import db
>>> db.create_all()
Код:
from flask import Flask, render_template, url_for
from flask_sqlalchemy import SQLAlchemy
from datetime import datetime
app = Flask(__name__)
app.config['SQLALCHEMY_DATABASE_URI'] = 'sqlite:///blog.db'
db = SQLAlchemy(app)
class Article(db.Model):
id = db.Column(db.Integer, primary_key=True)
title = db.Column(db.String(100), nullable=False)
intro = db.Column(db.String(300), nullable=False)
text = db.Column(db.Text, nullable=False)
date = db.Column(db.DateTime, default=datetime.utcnow)
def __repr__(self):
return '<Article %r>' % self.id
@app.route('/')
def index():
return render_template('index.html')
@app.route('/about')
def hello():
return render_template('about.html')
if __name__ == '__main__':
with app.app_context():
db.create_all()
app.run(debug=True)
Ответы (2 шт):
База данных по этому коду все-таки создается, если не писать в консоли указанные команды, а в терминале (тип Command Prompt в PyCharm) набрать: python app.py и запустить : Running on http://127.0.0.1:5000.После этого нужно посмотреть папку instance и там будет файл blog.db.
Ваша проблема может быть связана с необходимостью импортировать экземпляр объекта **app** из вашего скрипта Flask перед вызовом db.create_all(). Попробуйте добавить эту строку кода перед вызовом db.create_all():
from app import app
Если это не поможет, попробуйте проверить, что путь к вашей базе данных SQLite задан корректно в строке конфигурации app.config['SQLALCHEMY_DATABASE_URI'].