2017-02-03 6 views
0

So habe ich einige Daten aus einer Datenbank in einem Tabellenformat gezogen und diese Tabelle haben einige Benutzereingabeformulare eingebettet. In Bezug auf die Funktionalität, alles funktioniert gut, aber ich würde gerne einen Weg, wo ich nur die Tabelle Teil einer Vorlage rendern können, anstatt ganze Vorlage jedes Mal, wenn ein Benutzer macht einige Beiträge Anfragen. Ich habe ziemlich viel gesucht, aber mit Flask und JINJA2 konnte ich keine gute Lösung finden. Verwenden Ajax und Javascript die einzigen Lösungen, die ich habe?Flask, Jinja2 teilweise Rendering-Vorlage

Dank

Antwort

1

So könnte man eine Variable auf die Seite übergeben, ob Sie alle Informationen angezeigt werden sollen zeigt oder nur einen Teil davon.

Flask

showAll = False 
render_template('page', showAll = showAll) 

Dann könnten Sie diese Variable verwenden, um zu entscheiden, ob einen bestimmten Teil des HTML-Code zu erhalten.

{% if showAll != False %} 
    <p> Since I set showAll to False I will not be shown on web page<p> 
{% endif %} 

Das ist eine Möglichkeit, die Sie erreichen können; es ist jedoch ein wenig kompliziert. Ich würde AJAX und Javascript vorschlagen.

+0

@Myers, wird dies auf Post Anfragen auch arbeiten? Jedes Mal, wenn der Benutzer eine Submit- oder Update-Schaltfläche drückt, wo er eine Post-Anfrage vom Server benötigt, würde er auch eine partielle Vorlage rendern? – Jessi

+0

Ja, aber es wird jedes Mal eine Umleitung verursachen. Wenn Sie das vermeiden möchten, sollten Sie wahrscheinlich mit der Ajax-Route fahren. Wenn Sie ein Beispiel für Ajax brauchen, kann ich versuchen, einen schnellen zu finden. –

Verwandte Themen