Add support for partial views with jinga-partials and refactor stats as partial view
This commit is contained in:
3
app.py
3
app.py
@@ -1,12 +1,13 @@
|
|||||||
import os
|
import os
|
||||||
from flask import Flask, render_template, redirect, request, url_for
|
from flask import Flask, render_template, redirect, request, url_for
|
||||||
|
import jinja_partials
|
||||||
from decorators import validate_person, validate_topset, validate_workout
|
from decorators import validate_person, validate_topset, validate_workout
|
||||||
from db import DataBase
|
from db import DataBase
|
||||||
from utils import get_people_and_exercise_rep_maxes
|
from utils import get_people_and_exercise_rep_maxes
|
||||||
|
|
||||||
app = Flask(__name__)
|
app = Flask(__name__)
|
||||||
app.config.from_pyfile('config.py')
|
app.config.from_pyfile('config.py')
|
||||||
|
jinja_partials.register_extensions(app)
|
||||||
db = DataBase(app)
|
db = DataBase(app)
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -1,4 +1,5 @@
|
|||||||
Flask==2.0.1
|
Flask==2.0.1
|
||||||
gunicorn==19.7.1
|
gunicorn==19.7.1
|
||||||
Jinja2==3.0.1
|
Jinja2==3.0.1
|
||||||
|
jinja-partials==0.1.1
|
||||||
psycopg2-binary==2.9.3
|
psycopg2-binary==2.9.3
|
||||||
@@ -90,18 +90,6 @@
|
|||||||
|
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="mt-4 w-full grid grid-cols-1 md:grid-cols-3 2xl:grid-cols-4 xl:grid-cols-5 gap-4">
|
{{ render_partial('partials/stats.html', stats=model['Stats']) }}
|
||||||
{% for stat in model['Stats'] %}
|
|
||||||
<div class="bg-white shadow rounded-lg p-4 sm:p-6 xl:p-8 ">
|
|
||||||
<div class="flex items-center">
|
|
||||||
<div class="flex-shrink-0">
|
|
||||||
<span class="text-2xl sm:text-3xl leading-none font-bold text-gray-900">{{
|
|
||||||
stat['Value'] }}</span>
|
|
||||||
<h3 class="text-base font-normal text-gray-500">{{ stat['Text'] }}</h3>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
{% endfor %}
|
|
||||||
</div>
|
|
||||||
|
|
||||||
{% endblock %}
|
{% endblock %}
|
||||||
13
templates/partials/stats.html
Normal file
13
templates/partials/stats.html
Normal file
@@ -0,0 +1,13 @@
|
|||||||
|
<div class="mt-4 w-full grid grid-cols-1 md:grid-cols-3 2xl:grid-cols-4 xl:grid-cols-5 gap-4">
|
||||||
|
{% for stat in stats%}
|
||||||
|
<div class="bg-white shadow rounded-lg p-4 sm:p-6 xl:p-8 ">
|
||||||
|
<div class="flex items-center">
|
||||||
|
<div class="flex-shrink-0">
|
||||||
|
<span class="text-2xl sm:text-3xl leading-none font-bold text-gray-900">{{
|
||||||
|
stat['Value'] }}</span>
|
||||||
|
<h3 class="text-base font-normal text-gray-500">{{ stat['Text'] }}</h3>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
{% endfor %}
|
||||||
|
</div>
|
||||||
@@ -96,18 +96,6 @@
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="mt-4 w-full grid grid-cols-1 md:grid-cols-3 2xl:grid-cols-4 xl:grid-cols-5 gap-4">
|
{{ render_partial('partials/stats.html', stats=person['Stats']) }}
|
||||||
{% for stat in person['Stats'] %}
|
|
||||||
<div class="bg-white shadow rounded-lg p-4 sm:p-6 xl:p-8 ">
|
|
||||||
<div class="flex items-center">
|
|
||||||
<div class="flex-shrink-0">
|
|
||||||
<span class="text-2xl sm:text-3xl leading-none font-bold text-gray-900">{{
|
|
||||||
stat['Value'] }}</span>
|
|
||||||
<h3 class="text-base font-normal text-gray-500">{{ stat['Text'] }}</h3>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
{% endfor %}
|
|
||||||
</div>
|
|
||||||
|
|
||||||
{% endblock %}
|
{% endblock %}
|
||||||
Reference in New Issue
Block a user