small changes
This commit is contained in:
parent
ca354063c7
commit
8c5fdf0de1
@ -29,15 +29,22 @@ def create_app(config=None):
|
|||||||
# add url rules for class-based views
|
# add url rules for class-based views
|
||||||
for m in SIMPLE_MODELS:
|
for m in SIMPLE_MODELS:
|
||||||
for v in VIEWS:
|
for v in VIEWS:
|
||||||
route = f"/{m['name']}/{v['name']}{v.get('route_params', '')}"
|
route = f"/{m['name']}/{v['name'] + '/' if v['name'] != 'all' else ''}{v.get('route_params', '')}"
|
||||||
class_ = globals()[f"View{v['name'].capitalize()}"]
|
class_ = globals()[f"View{v['name'].capitalize()}"]
|
||||||
view_name = f"{m['name']}.{v['name']}"
|
view_name = f"{m['name']}.{v['name']}"
|
||||||
kwargs = {key: value for key, value in m.items() if key is not "name"}
|
kwargs = {key: value for key, value in m.items() if key != "name"}
|
||||||
|
# add route (e.g. "/genre/all" or "/sprache/delete")
|
||||||
app.add_url_rule(
|
app.add_url_rule(
|
||||||
route,
|
route,
|
||||||
endpoint=view_name,
|
endpoint=view_name,
|
||||||
view_func=class_.as_view(view_name, m["name"], **kwargs)
|
view_func=class_.as_view(view_name, m["name"], **kwargs)
|
||||||
)
|
)
|
||||||
|
# # add additional route "/genre/all/" for read operation
|
||||||
|
# if v['name'] == "all":
|
||||||
|
# app.add_url_rule(
|
||||||
|
# f"/{m['name']}",
|
||||||
|
# view_func=class_.as_view(view_name, m["name"], **kwargs)
|
||||||
|
# )
|
||||||
|
|
||||||
# register blueprints for remaining views
|
# register blueprints for remaining views
|
||||||
app.register_blueprint(home.bp)
|
app.register_blueprint(home.bp)
|
||||||
|
|||||||
@ -5,8 +5,8 @@ from the_works.models import Reihe, Verlag
|
|||||||
|
|
||||||
bp = Blueprint("reihe", __name__)
|
bp = Blueprint("reihe", __name__)
|
||||||
|
|
||||||
@bp.route("/reihe")
|
@bp.route("/reihe/")
|
||||||
@bp.route("/reihe/all")
|
@bp.route("/reihe/all/")
|
||||||
def all():
|
def all():
|
||||||
rows = db.session.execute(select(Reihe, Verlag).join(Reihe.verlag, isouter=True))
|
rows = db.session.execute(select(Reihe, Verlag).join(Reihe.verlag, isouter=True))
|
||||||
reihen = []
|
reihen = []
|
||||||
@ -19,7 +19,7 @@ def all():
|
|||||||
})
|
})
|
||||||
return render_template("views/reihe.html", reihen=reihen, verlage=db.session.scalars(select(Verlag)))
|
return render_template("views/reihe.html", reihen=reihen, verlage=db.session.scalars(select(Verlag)))
|
||||||
|
|
||||||
@bp.route("/reihe/create", methods=["POST"])
|
@bp.route("/reihe/create/", methods=["POST"])
|
||||||
def create():
|
def create():
|
||||||
db.session.add(Reihe(
|
db.session.add(Reihe(
|
||||||
Titel = request.form["form_Titel"],
|
Titel = request.form["form_Titel"],
|
||||||
|
|||||||
@ -7,8 +7,8 @@ from the_works.database import db
|
|||||||
VIEWS = [
|
VIEWS = [
|
||||||
{"name": "all"},
|
{"name": "all"},
|
||||||
{"name": "create"},
|
{"name": "create"},
|
||||||
{"name": "update", "route_params": "/<int:id>"},
|
{"name": "update", "route_params": "<int:id>"},
|
||||||
{"name": "delete", "route_params": "/<int:id>"}
|
{"name": "delete", "route_params": "<int:id>"}
|
||||||
]
|
]
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user