"Finished."
This commit is contained in:
parent
34928e794d
commit
d6ba934955
7 changed files with 11 additions and 9 deletions
|
|
@ -1,6 +1,6 @@
|
|||
{% macro options(items, value_attr="id", label_path="name", getp=None) -%}
|
||||
{%- for obj in items -%}
|
||||
<option value="{{ getattr(obj, value_attr) }}">{{ getp(obj, label_path) }}</option>
|
||||
<option value="{{ getp(obj, value_attr) }}">{{ getp(obj, label_path) }}</option>
|
||||
{%- endfor -%}
|
||||
{% endmacro %}
|
||||
|
||||
|
|
@ -1,4 +1,4 @@
|
|||
{% import "crudkit/_macros.html" as ui %}
|
||||
{% import "_macros.html" as ui %}
|
||||
{# The action points at your JSON endpoints. Adjust 'crud' if you named it differently. #}
|
||||
{% if obj %}
|
||||
{% set action = url_for('crud.update_item', model=model, id=obj.id) %}
|
||||
|
|
@ -1,2 +1,2 @@
|
|||
{% import "crudkit/_macros.html" as ui %}
|
||||
{% import "_macros.html" as ui %}
|
||||
{{ ui.lis(items, label_path=label_path, sublabel_path=sublabel_path, getp=getp) }}
|
||||
|
|
@ -1,3 +1,3 @@
|
|||
{# Renders only <option>...</option> rows #}
|
||||
{% import "crudkit/_macros.html" as ui %}
|
||||
{% import "_macros.html" as ui %}
|
||||
{{ ui.options(items, value_attr=value_attr, label_path=label_path, getp=getp) }}
|
||||
|
|
@ -1,3 +1,3 @@
|
|||
{% import "crudkit/_macros.html" as ui %}
|
||||
{% import "_macros.html" as ui %}
|
||||
{{ ui.rows(items, fields, getp=getp) }}
|
||||
{{ ui.pager(model, page, pages, per_page, sort, filters) }}
|
||||
|
|
@ -18,7 +18,7 @@ def make_fragments_blueprint(db_session_factory, registry: Dict[str, Any], *, na
|
|||
GET /<model>/frag/rows -> <tr>...</tr> + pager markup if wanted
|
||||
GET /<model>/frag/form -> <form>...</form> (auto-generated)
|
||||
"""
|
||||
bp = Blueprint(name, __name__, template_folder="../templates/crudkit")
|
||||
bp = Blueprint(name, __name__, template_folder="templates/crudkit")
|
||||
def session(): return scoped_session(db_session_factory)()
|
||||
|
||||
def _parse_filters(args):
|
||||
|
|
|
|||
|
|
@ -1,8 +1,9 @@
|
|||
from flask import Flask
|
||||
from flask import Flask, render_template
|
||||
from sqlalchemy import create_engine
|
||||
from sqlalchemy.orm import sessionmaker
|
||||
from .models import Base, Author, Book
|
||||
from crudkit import make_blueprint
|
||||
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)
|
||||
|
|
@ -15,7 +16,8 @@ registry = {"author": Author, "book": Book}
|
|||
def create_app():
|
||||
app = Flask(__name__)
|
||||
Base.metadata.create_all(engine)
|
||||
app.register_blueprint(make_blueprint(session_factory, registry), url_prefix="/api")
|
||||
app.register_blueprint(make_json_blueprint(session_factory, registry), url_prefix="/api")
|
||||
app.register_blueprint(make_fragments_blueprint(session_factory, registry), url_prefix="/ui")
|
||||
return app
|
||||
|
||||
if __name__ == "__main__":
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue