27 lines
939 B
Python
27 lines
939 B
Python
from flask import Flask, render_template
|
|
from sqlalchemy import create_engine
|
|
from sqlalchemy.orm import sessionmaker
|
|
from .models import Base, Author, Book
|
|
from crudkit.blueprint import make_blueprint as make_json_blueprint
|
|
from crudkit.html import make_fragments_blueprint
|
|
|
|
engine = create_engine("sqlite:///example.db", echo=True, future=True)
|
|
SessionLocal = sessionmaker(bind=engine, expire_on_commit=False)
|
|
|
|
def session_factory():
|
|
return SessionLocal()
|
|
|
|
registry = {"author": Author, "book": Book}
|
|
|
|
def create_app():
|
|
app = Flask(__name__)
|
|
Base.metadata.create_all(engine)
|
|
app.register_blueprint(make_json_blueprint(session_factory, registry), url_prefix="/api")
|
|
app.register_blueprint(make_fragments_blueprint(session_factory, registry), url_prefix="/ui")
|
|
@app.get("/demo")
|
|
def demo():
|
|
return render_template("demo.html")
|
|
return app
|
|
|
|
if __name__ == "__main__":
|
|
create_app().run(debug=True)
|