client = MongoClient("mongodb:xxxx")
db = client.databasename
collection = db.logs
@app.route('/log')
def Results():
try:
loggings = db.collection.find()
return render_template('index.html', loggings=loggings)
except Exception as e:
return dumps({'error': str(e)})
if __name__ == '__main__':
app.run(debug = True)
To jest mój kod dla app.py i dla „index.html”, jak wygląda mój kod
<!doctype html>
<html>
<body>
{% for message in logs %}
<h3>{{message}}</h3>
{%endfor%}
</body>
</html>
Kiedy uruchamiam kod, nie wyświetla on niczego na trasie localhost: xxxx / log.
Mogę wiedzieć, dlaczego? Dzięki!
1 odpowiedź
Jeśli używasz loggings=
w
render_template('index.html', loggings=loggings)
Wtedy musisz użyć loggings
również w szablonie
{% for message in loggings %}
Ale używasz {% ... in logs %}
{{ message.id }}
lub {{ message["id"] }}
. Następnie możesz umieścić go w innym tagu i stylu HTML
za pomocą CSS
. Jeśli masz ciągi w wiadomościach, możesz je edytować w Results()
przed wysłaniem do template
id
i text
wtedy message.id
da komórkę w wierszu z kolumny id
, message.text
da komórkę z kolumny text
itd. może zrobić <tr><td>{{ message.id }}</td><td>{{ message.text }}</td></tr>
, aby utworzyć wiersz w <table>
Podobne pytania
Nowe pytania
python
Python to wielozadaniowy, wielozadaniowy język programowania dynamicznie typowany. Został zaprojektowany tak, aby był szybki do nauczenia się, zrozumienia i użycia oraz wymuszania czystej i jednolitej składni. Należy pamiętać, że Python 2 oficjalnie nie jest obsługiwany od 01-01-2020. Mimo to, w przypadku pytań Pythona specyficznych dla wersji, dodaj znacznik [python-2.7] lub [python-3.x]. Korzystając z wariantu Pythona (np. Jython, PyPy) lub biblioteki (np. Pandas i NumPy), należy umieścić go w tagach.
loggings=
, więc w szablonie musisz użyć... in loggings
, a nie...in log