【发布时间】: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'] 我已经删除了这些返回语句之一。