tun werde Ich bin von Zeit zu Zeit konfrontiert mit einer Wahl, wo ich meine for-Schleifen und ein Ganzes viele andere BerechnungenJinja oder Python, um schwere Berechnungen zu tun, die ist ideal und gibt es eine Performance-Wirkung, wenn ich es in Jinja
betrachten Sie den Code unten
isp_ratings_per_service = db.session.query(func.count(Service_metric_ratings.ratings_id).label('count_of_users'), \
func.sum(Service_metric_ratings.ratings_id).label('sum_of_ratings'),
Isps.isp_name, Service_metric.metric_name, Services.service_name) \
.filter(Service_metric_ratings.isp_id == Isps.isp_id) \
.filter(Service_metric_ratings.ratings_id == Ratings.ratings_id) \
.filter(Service_metric_ratings.metric_id == Service_metric.metric_id) \
.filter(Service_metric_ratings.user_id == User.user_id) \
.filter(Service_metric_ratings.service_id == Services.service_id) \
.filter(Service_metric.metric_name == metric_name) \
.filter(Services.service_name == service_name) \
.group_by(Isps.isp_name)
dieser for-Schleife unten, erhalten mne, was ich in den Kolben/python Routen wollen
for i in isp_ratings_per_service:
my_count=i.count_of_users
my_ratings=i.sum_of_ratings
isp=i.isp_name
Und wenn ich will die average_ berechnen Bewertungen, wird es
my_ratings/my_count
sein, und ich kann das Ergebnis auf die jinja Vorlagen .... wie dies ohne Probleme
return render_template('view_average_isp_ratings.html',
isp_ratings_per_service=isp_ratings_per_service,
count_of_users_who_rated=count_of_users_who_rated,
average_isp__service_ratings=average_isp__service_ratings,
)
Meine Frage ist dann folgt, übergeben, was, wenn ich alles mit jinja verarbeiten ... wird es meine Anwendung verlangsamen ..
Warum versuchen Sie nicht beide und Profil, um zu sehen, ob es ein Problem gibt? Abhängig davon, wie viel Sie verarbeiten, ist es wahrscheinlich, dass diese Zeit im Vergleich zu den Netzwerkgeschwindigkeiten irrelevant ist. – jonrsharpe