diff --git a/the_works/__init__.py b/the_works/__init__.py index 02cd038..bdd8951 100644 --- a/the_works/__init__.py +++ b/the_works/__init__.py @@ -29,15 +29,22 @@ def create_app(config=None): # add url rules for class-based views for m in SIMPLE_MODELS: 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()}"] 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( route, endpoint=view_name, 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 app.register_blueprint(home.bp) diff --git a/the_works/views/reihe.py b/the_works/views/reihe.py index 48cebad..b284c1f 100644 --- a/the_works/views/reihe.py +++ b/the_works/views/reihe.py @@ -5,8 +5,8 @@ from the_works.models import Reihe, Verlag bp = Blueprint("reihe", __name__) -@bp.route("/reihe") -@bp.route("/reihe/all") +@bp.route("/reihe/") +@bp.route("/reihe/all/") def all(): rows = db.session.execute(select(Reihe, Verlag).join(Reihe.verlag, isouter=True)) reihen = [] @@ -19,7 +19,7 @@ def all(): }) 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(): db.session.add(Reihe( Titel = request.form["form_Titel"], diff --git a/the_works/views/simple_view.py b/the_works/views/simple_view.py index fa42e41..5d9c50e 100644 --- a/the_works/views/simple_view.py +++ b/the_works/views/simple_view.py @@ -7,8 +7,8 @@ from the_works.database import db VIEWS = [ {"name": "all"}, {"name": "create"}, - {"name": "update", "route_params": "/"}, - {"name": "delete", "route_params": "/"} + {"name": "update", "route_params": ""}, + {"name": "delete", "route_params": ""} ]