Ich schrieb eine Anwendung, wo ein Benutzer eine Nummer eingibt, und die Anwendung berechnet die Pythagoras Tripel dieser Zahl.Python-Liste von Listen in einer Jinja-Vorlage anzeigen
Ich habe Probleme, die Tripel in eine Liste zu setzen und sie in einer HTML-Tabelle anzuzeigen. Server Side Methode:
def post(self):
allTriples = []
c = int(self.request.get('c'))
print('c: ' + str(c))
for i in range(1, c):
for j in range(1, c):
for k in range(1, c):
i2 = i*i
j2 = j*j
k2 = k*k
if ((i2 + j2) == k2) and (i < j):
singleTriple = []
singleTriple.append(i)
singleTriple.append(j)
singleTriple.append(k)
allTriples.append(singleTriple)
d = {
'allTriples' : allTriples,
}
print(allTriples)
template = JINJA_ENVIRONMENT.get_template('triples.html')
self.response.out.write(template.render(d))
Hier ist eine Ausgabe der Liste der Listen als 15
[[3, 4, 5], [5, 12, 13], [6, 8, 10]]
Jinja Vorlage eingegeben wird:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Pythagorean Triples</title>
</head>
<body>
<table>
<th>A</th>
<th>B</th>
<th>C</th>
{% for triple in allTriples %}
<p>triple</p>
<tr>
{% for val in triple %}
<td>val</td>
{% endfor %}
</tr>
{% endfor %}
</table>
</body>
</html>
Die html zeigt nur die Worte "val" wo die Zahlen sein sollten.
verwenden sollte ich glaube, Sie müssen nur val ersetzen mit {{val}} in der for-Schleife. –
und ähnlich ersetzen '
Triple
' mit '{{Triple}}
' ('tho nehme ich an, das ist nur zum Debuggen) –