大佬教程收集整理的这篇文章主要介绍了Flask Value错误视图功能未返回响应,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
以下内容不返回响应:
你必须返回类似return afunction()
或的内容return 'a String'
。
这样可以解决问题
错误信息:
TraceBACk (most recent call last):
File "/usr/local/lib/python2.7/dist-packages/flask/app.py",line 1836,in __call__
return self.wsgi_app(environ,start_responsE)
File "/usr/local/lib/python2.7/dist-packages/flask/app.py",line 1820,in wsgi_app
response = self.make_response(self.handle_exception(E))
File "/usr/local/lib/python2.7/dist-packages/flask/app.py",line 1403,in handle_exception
reraise(exc_type,exc_value,tb)
File "/usr/local/lib/python2.7/dist-packages/flask/app.py",line 1817,in wsgi_app
response = self.full_dispatch_request()
File "/usr/local/lib/python2.7/dist-packages/flask/app.py",line 1478,in full_dispatch_request
response = self.make_response(rv)
File "/usr/local/lib/python2.7/dist-packages/flask/app.py",line 1566,in make_response
raise ValueError('View function did not return a response')
ValueError: View function did not return a response
而我的代码:
#Used for starTing the flask server
from flask import Flask #Import flask mains
from flask import request #Import flask requests
from flask import render_template #Import flask render templates
import json,urllib #import api modules
import time #Imporing time in darlek voice
app = Flask(__name__)
@app.route('/')
def my_form():
return render_template("my-form.html") #Set render template
@app.route('/',methods=['POST'])
def my_form_post():
openwindow_at = float(request.form['open']) #When it reached ? open window
if request.form['scale'] == "kelvin": #Change figures
print("Do nothing") #Debug info
elif request.form['scale'] == "celcius":
openwindow_at = openwindow_at + int(273.15) #celcius to kelvin
elif request.form['scale'] == "fah": #Fah to kelvin
openwindow_at = (openwindow_at + 459.67) * 5 / 9 #F to kelvin
text = request.form['text'] #Get info from First page
url = "http://api.openweathermap.org/data/2.5/weather?q=" + text #Download the json
response = urllib.urlopen(url) #Download Json
data = json.loads(response.read()) #Parse json
print("Current Weather in " + text + " " + data['weather'][0]['description']) #Debug infomation
print("Temp: " + str(data['main']['temp'])) #Print temp
if Data['weather'][0]['description'].find("rain") >= 0: #check The weather
print("Test")
return "ShutTing your window"
Close the window(Tom's job)
if float(data['main']['temp']) >= openwindow_at:
return "Opening your window"
#open the window (Tom's job)
if __name__ == '__main__':
app.debug = True #Uncomment to enable debugging
app.run() #Run the Server
并且my-form.html是:
<!DOCTYPE html>
<html lang="en">
<body>
<h1>Enter a place</h1>
<form action="." method="POST">
<input type="text" name="text">
<input type="submit" name="my-form" value="Send">
<h1>Options</h1>
<p>Open window if temp is greater than<input type="textbox" name="open"></input> <input type="radio" name="scale" value="kelvin">Kelvin</input><input type="radio" name="scale" value="celcius">Celcius</input><input type="radio" name="scale" value="fah">FarenHeit</input></p>
</form>
</body>
</html>
如果我在其中放置一个while循环,它将永远加载。
然后输入比当前页面永久加载的更高的温度。如果我使用上面列出的当前代码,则会出现错误。
以上是大佬教程为你收集整理的Flask Value错误视图功能未返回响应全部内容,希望文章能够帮你解决Flask Value错误视图功能未返回响应所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。