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!

0
S Bill 20 grudzień 2019, 05:29
Wysyłasz dane jako loggings=, więc w szablonie musisz użyć ... in loggings, a nie ...in log
 – 
furas
20 grudzień 2019, 08:31

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 %}

0
furas 20 grudzień 2019, 08:33
Dziękuję bardzo, teraz mam logi wyświetlane, ale w ogóle niesformatowane. Czy mogę wiedzieć, czy istnieje sposób na ich sformatowanie za pomocą takich jak „tabele”? Lub w inny sposób ładnie je sformatować? Bardzo dziękuję!
 – 
S Bill
20 grudzień 2019, 12:30
Masz do tego swój szablon - jeśli wiadomość ma wiele pól to wyświetlaj każde pole osobno - tj. {{ 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
 – 
furas
20 grudzień 2019, 12:43
Dziękuję bardzo za odpowiedź. Próbuję stworzyć stół. Wtedy zawartość każdego wiersza/kolumny będzie miała postać logging.id lub message.id? Czy podchodzę we właściwy sposób do stołu?
 – 
S Bill
20 grudzień 2019, 12:58
Nie wiem, jakie masz kolumny w bazach danych, ale czy masz np. kolumny. idi 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>
 – 
furas
20 grudzień 2019, 13:04
Więc muszę zachować oryginalny index.html, który opublikowałem w pytaniu? Jeśli tak, gdzie powinna zmieścić się część tabeli ()? I mam tysiące logów.. Czy nadal zmieści się w formacie tabeli bez żadnego innego specjalnego formatowania? Dziękuję!
 – 
S Bill
20 grudzień 2019, 13:36