Use jinja2_fragments to remove wrapper templates to handle htmx and non-htmx requests(Full or just partial html)

This commit is contained in:
Peter Stockings
2023-07-15 23:27:14 +10:00
parent 9c2d95fd61
commit 38d250902b
4 changed files with 210 additions and 210 deletions

5
app.py
View File

@@ -2,7 +2,9 @@ from datetime import datetime, date, timedelta
from dateutil.relativedelta import relativedelta
import os
from flask import Flask, render_template, redirect, request, url_for
from jinja2 import Environment, FileSystemLoader, select_autoescape
import jinja_partials
from jinja2_fragments import render_block
from decorators import validate_person, validate_topset, validate_workout
from db import DataBase
from utils import flatten, get_date_info, get_people_and_exercise_rep_maxes, convert_str_to_date, get_earliest_and_latest_workout_date, filter_workout_topsets, get_exercise_ids_from_workouts, first_and_last_visible_days_in_month
@@ -327,8 +329,7 @@ def settings():
people = db.get_people()
exercises = db.get_exercises()
if htmx:
return render_template('partials/page/settings.html',
people=people, exercises=exercises), 200, {"HX-Trigger": "updatedPeople"}
return render_block(app.jinja_env, "settings.html", "content", people=people, exercises=exercises), 200, {"HX-Trigger": "updatedPeople"}
return render_template('settings.html', people=people, exercises=exercises)