以下视图将返回smead
但不会返回第二个字符串。当我尝试返回变量john
时,出现500错误。如何修复视图以返回正确的内容?
from flask import Flask, render_template
app = Flask(__name__)
@app.route('/')
def homepage():
return render_template("main.html")
@app.route('/test/', methods=["GET","POST"])
def test():
import re
text = "testereread"
john = re.findall(r'test(.*)$', text)
smead = "testererere"
return smead
return "i swear it no workiez"
if __name__ == "__main__":
app.run()
答案 0 :(得分:1)
这种情况正在发生,因为在第一个return
语句 ie return smead
上,函数退出时没有检查下一个return
语句或下面的任何其他代码。
试试这个:
return smead + " i swear it no workiez"
答案 1 :(得分:0)
第一个问题是你只能从一个函数返回一次,所以只要你.my-dropdown-item
函数结束并且没有返回下一个字符串。
第二个问题是return smead
返回一个列表。 Flask不知道如何处理从视图返回的列表,因此会抛出错误。您只能从视图中返回字符串或re.findall
。
您可能想要做的是渲染一个用这些值做某事的模板。
Response
return render_template('test', smead=smead, other='it works', john=john)