在运行我的flask.py应用程序时,我面临着这个问题:
回溯:
File "/root/sitetoggle/lib/python3.4/site-packages/flask/app.py", line 1997, in __call__
return self.wsgi_app(environ, start_response)
File "/root/sitetoggle/lib/python3.4/site-packages/flask/app.py", line 1985, in wsgi_app
response = self.handle_exception(e)
File "/root/sitetoggle/lib/python3.4/site-packages/flask/app.py", line 1540, in handle_exception
reraise(exc_type, exc_value, tb)
File "/root/sitetoggle/lib/python3.4/site-packages/flask/_compat.py", line 33, in reraise
raise value
File "/root/sitetoggle/lib/python3.4/site-packages/flask/app.py", line 1982, in wsgi_app
response = self.full_dispatch_request()
File "/root/sitetoggle/lib/python3.4/site-packages/flask/app.py", line 1614, in full_dispatch_request
rv = self.handle_user_exception(e)
File "/root/sitetoggle/lib/python3.4/site-packages/flask/app.py", line 1517, in handle_user_exception
reraise(exc_type, exc_value, tb)
File "/root/sitetoggle/lib/python3.4/site-packages/flask/_compat.py", line 33, in reraise
raise value
File "/root/sitetoggle/lib/python3.4/site-packages/flask/app.py", line 1612, in full_dispatch_request
rv = self.dispatch_request()
File "/root/sitetoggle/lib/python3.4/site-packages/flask/app.py", line 1598, in dispatch_request
return self.view_functions[rule.endpoint](**req.view_args)
File "/root/sitetoggle/flaskr/flaskr.py", line 117, in index
return flask.Response(inner(), mimetype='text/html') # text/html is required for most browsers to show th$
NameError: name 'flask' is not define这是我的酒瓶和模板html。
flask.py
import os
import subprocess
import request
from flask import (Flask, request, session, g, redirect, url_for, abort, render_template, flash)
app = Flask(__name__) # create the application instance :)
app.config.from_object(__name__) # load config from this file , flaskr.py
@app.route('/siteOFF', methods=['GET', 'POST'])
def siteoff():
error = None
subprocess.call(['/root/sitetoggle/flaskr/testOFF.sh'], shell=True)
return render_template('layout.html', error=error)
@app.route('/siteON', methods=['GET', 'POST'])
def siteon():
def inner():
proc = subprocess.Popen(
['dmesg'], #call something with a lot of output so we can see it
shell=True,
stdout=subprocess.PIPE
)
for line in iter(proc.stdout.readline,''):
time.sleep(1) # Don't need this just shows the text streaming
yield line.rstrip() + '<br/>\n'
return flask.Response(inner(), mimetype='text/html') # text/html is required for most browsers to show th$
if __name__ == "__main__":
app.run()index.html
<!doctype html>
<title>Flaskr</title>
<link rel=stylesheet type=text/css href="{{ url_for('static', filename='style.css') }}">
<div class=page>
<div>
<h4>Turn site OFF or ON </h4>
<input type="button" name="lien1" value="Turn ON site"
onclick="self.location.href='http://10.10.1.8:5000/siteON'" style="background-color:#3cb371"
style="color:white; font-weight:bold"onclick>
<input type="button" name="lien2" value="Turn OFF site"
onclick="self.location.href='http://10.10.1.8:5000/siteOFF'" style="background-color:#1ab171"
style="color:white; font-weight:bold"onclick>
</div>
</div>我正在使用flaskr应用程序,我定制了在烧瓶页面中调用bash脚本。除了我在flask.py中定义并试图在html页面中调用它们的两个函数siteon()和siteoff()之外,其他所有功能都仍然正常工作。
发布于 2017-09-06 18:57:37
这是不好的台词:
return flask.Response(inner(), mimetype='text/html')也是如此:
from flask import (Flask, request, session, g, redirect, url_for, abort, render_template, flash, Response)然后:
return Response(inner(), mimetype='text/html')https://stackoverflow.com/questions/46082465
复制相似问题