Я читал многие другие посты о том, что модели отделены от основного приложения, но я не могу заставить его работать только с app.py (мое реальное приложение) и models.py (мои модели базы данных).
Если я делаю следующее, я получаю файл app.db без таблиц:
from app import db
db.create_all()
Если я делаю следующее, я получаю RuntimeError: Приложение не найдено.Либо работайте внутри функции представления, либо выдвигайте контекст приложения.:, похоже, ничего из этого не работает в моем случае.
Вот мой app.py:
from flask import Flask, render_template, request
from flask_sqlalchemy import SQLAlchemy
from models import userTable
app = Flask(__name__)
app.config['SQLALCHEMY_DATABASE_URI'] = 'sqlite:///app.db'
app.config['SQLALCHEMY_TRACK_MODIFICATIONS'] = False
db = SQLAlchemy(app)
@app.route('/', methods=['GET', 'POST'])
def home():
return "home"
if __name__ == '__main__':
app.run(debug=True)
Вот мой models.py:
from flask_sqlalchemy import SQLAlchemy
db = SQLAlchemy()
class userTable(db.Model):
__tablename__ = "userTable"
id = db.Column(db.Integer, primary_key=True)
username = db.Column(db.String(80), unique=True)