使用flask在HTML文件中显示Python字典的一部分

我正在关注有关如何使用 Flask 以及如何在 HTML 文件中显示字典 pinDict 中的值的教程。render_template当我导航到http://127.0.0.1:5000/21/on时,只出现“Hi”。为什么是这样?


#app.py

from flask import Flask, render_template


app = Flask(__name__)

pinDict = {"21": {"name": "GPIO 21", "state": "off"}}


@app.route('/')

def index():

    return "hey"


@app.route("/<changePin>/<action>")

def turnOn(changePin, action):

    return render_template("home.html", **pinDict)


if __name__ == '__main__':

    app.run(debug=True, host="0.0.0.0")

我的 home.html 文件是这样的:


<!DOCTYPE html>

<html>

    <body id = "myButton">

    <h1>RPi Web Server</h1>

    {% for pin in pinDict %}

    <h2> {{pinDict[pin]["name"]}} </h2>

    {% endfor %}

    <script>

        function printLog() {

            var myHTML = "<h1> Hi </h1>"

            document.getElementById("myButton").innerHTML = myHTML;

        }

    </script>

    <script>printLog()</script>

    </body>

</html>

很简单。有点困惑为什么它没有显示,因为这与我遵循的教程中的代码几乎完全相同。希望得到一些帮助,感谢您的宝贵时间。


拉莫斯之舞
浏览 76回答 1
1回答

神不在的星期二

你最好使用return&nbsp;render_template("home.html",&nbsp;pinDict=pinDict)代替return&nbsp;render_template("home.html",&nbsp;**pinDict)
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python