我的项目是让用户使用网站来控制树莓派相机。网站上的按钮将运行脚本以在相机上拍照。该脚本可以作为自己的exe正常运行,但是当我尝试将其合并到app.py代码中时,它将无法正常工作。我尝试了各种解决方案都无济于事。 我对linux / html / python非常陌生,所以我在这里苦苦挣扎。
HTML代码:
<div class="container">
<div><img src="https://scontent-dfw5-1.xx.fbcdn.net/v/t1.15752-9/52914705_308217033137888_3861578789158912000_n.png?_nc_cat=101&_nc_ht=scontent-dfw5-1.xx&oh=b067e9981fe2bbf6903d034ea33108bf&oe=5D1E4F7C" alt="Logo" height="40%" width="40%">
<br><br> <p>Thank you for using Photobooth Pi!
<br>Click the button below to start a countdown.</p>
<form action="/pic" method="POST">
<input type="submit" value="Take a pic">
</form>
</div>
<div class="footer">
<p><strong> COPYRIGHT © 2019 PHOTOBOOTH PI. ALL RIGHTS RESERVED.</strong></p>
</div>
PYTHON /烧瓶代码:
from flask import Flask, render_template
import time
import picamera
app = Flask(__name__)
@app.route('/')
def index():
return render_template('index.html')
@app.route('/pic', methods=['GET', 'POST'])
def pic():
"camera = picamera.PiCamera()"
"camera.rotation = 90"
"camera.stat_preview()"
"time.sleep(5)"
"camera.capture('tester.jpg')"
"camera.stop_preview()"
return
if __name__ == '__main__':
#Pi's IP Address
app.run(debug=True, host='10.0.83.149')
该按钮不起作用,它带我进入调试屏幕。关于我在做什么错的任何想法吗?
答案 0 :(得分:0)
代码总体上写得很好。您遇到的错误来自以下事实:您的函数未返回任何响应。更确切地说,您的Some Words 1234
Some Words That Should not be replaced 129123412
test 98
t e s t 98
Another 12000
函数以隐式pic
结尾,该隐含return None
在Flask上不起作用,并生成错误。尝试返回一些内容,例如:return "ok"
编辑
根据所作的澄清和我的最后评论,这是解决问题的一种方法:
@app.route('/pic', methods=['GET', 'POST'])
def pic():
os.system("sudo python pic.py")
return redirect(url_for('index'))