【问题标题】:Sending data with GET to flask Python使用 GET 将数据发送到烧瓶 Python
【发布时间】:2020-12-07 16:41:57
【问题描述】:

您好,我在通过烧瓶将数据从 python 脚本发送到网页时遇到问题。在我的网页上运行代码后,它会显示信息:“无”。服务器正在响应,但我认为使用 get 发送数据存在问题。我知道在这个阶段我可以在烧瓶中生成数据,但我的目标是将 arduino 数据从 python 脚本发送到烧瓶并在网站上显示

脚本发送数据:

import requests
import serial
import time

while True:
    payload = {'c1_temp': '20', 'c1_press': '1013', 'c1_humid': '30', 'c1_gleba': '60'}
    r = requests.get("http://127.0.0.1:5000/czujnik1", params=payload)
    print(r)
    time.sleep(5)
    

烧瓶:

from flask import Flask, render_template, request
import requests
import time

app = Flask(__name__)

@app.route('/')
def index():
    return render_template('index.html')
    return render_template("style.css")


@app.route('/czujnik1', methods=['GET', 'POST'])
def czujnik1():
    data = []
    c1_temp = request.args.get('c1_temp')
    c1_press = request.args.get('c1_press')
    c1_humid = request.args.get('c1_humid')
    c1_gleba = request.args.get('c1_gleba')
    data.append(c1_temp)
    data.append(c1_press)
    data.append(c1_humid)
    data.append(c1_gleba)
    return render_template("czujnik1.html", data = data)
    return render_template("style.css")

html:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <link rel="stylesheet" href="{{ url_for('static', filename='css/style.css') }}">
    <title>Document</title>
</head>
<body>
    <nav>
        <div class="logo">KREATYWNA MŁODZIEŻ</div>
        <div class="nav-opts">
            <a href="/">BACK</a>
            <a href="/czujnik1">Czujnik 1</a>
            <a href="/czujnik2">Czujnik 2</a>
            <a href="/czujnik3">Czujnik 3</a>
        </div>
    </nav>
    <div class="czujnik">
        <h1>Czujnik 1</h1>
        <div class="czujnik-wrapper">
            <div class="czujnik-box">
                <h2>Temperatura(℃)</h2>
                <p>{{ data.0 }}</p>
            </div>
            <div class="czujnik-box">
                <h2>Ciśnienie(hPa)</h2>
                <p>{{ data.1 }}</p>
            </div>
            <div class="czujnik-box">
                <h2>Wilgotność(%)</h2>
                <p>{{ data.2 }}</p>
            </div>
            <div class="czujnik-box">
                <h2>Wilgotność gleby(%)</h2>
                <p>{{ data.3 }}</p>
            </div>
        </div>
    </div>
</body>
</html>

【问题讨论】:

  • 请不要使用粗体字。这就像在大喊大叫。
  • 抱歉伤了你的眼睛
  • 尝试将data 列表输出到控制台以确保其不为空,然后再将其发送到 html 模板。而且,为什么你的路由中有两个 return 语句?
  • 它在终端中显示如下:['20', '1013', '30', '60'] 我已经删除了这些返回语句之一。

标签: python html flask get


【解决方案1】:

当我在发送脚本中执行命令print(r.text)时,我会得到类似的结果

html:

<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <link rel="stylesheet" href="/static/css/style.css">
    <title>Document</title>
</head>
<body>
    <nav>
        <div class="logo">KREATYWNA MŁODZIEŻ</div>
        <div class="nav-opts">
            <a href="/">BACK</a>
            <a href="/czujnik1">Czujnik 1</a>
            <a href="/czujnik2">Czujnik 2</a>
            <a href="/czujnik3">Czujnik 3</a>
        </div>
    </nav>
    <div class="czujnik">
        <h1>Czujnik 1</h1>
        <div class="czujnik-wrapper">
            <div class="czujnik-box">
                <h2>Temperatura(℃)</h2>
                <p>20</p>
            </div>
            <div class="czujnik-box">
                <h2>Ciśnienie(hPa)</h2>
                <p>1013</p>
            </div>
            <div class="czujnik-box">
                <h2>Wilgotność(%)</h2>
                <p>30</p>
            </div>
            <div class="czujnik-box">
                <h2>Wilgotność gleby(%)</h2>
                <p>60</p>
            </div>
            <div class="czujnik-box">
                <h2>Do wypełnienia</h2>
                <input type="text">
            </div>
            <div class="czujnik-box">
                <h2>Do wypełnienia</h2>
                <input type="text">
            </div>
        </div>
    </div>
</body>
</html>```
It should be working but it isn't showing like that on the page.

【讨论】:

    猜你喜欢
    • 2020-05-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-06-06
    • 2023-03-11
    • 1970-01-01
    • 2017-10-15
    相关资源
    最近更新 更多