Return语句未在Flask中输出结果



我已经编写了这段代码,主要是希望结果打印出值,并与字符串和换行符相结合。我还试图避免在((中出现结果。然而,我似乎错过了什么,因为结果什么也没打印出来。我知道使用打印功能,但问题是这个。该函数实际上是在Flask html页面中呈现的。当调用html页面时,使用"打印"会导致输出"无"。或者,如果有其他解决方法可以使用"打印"并进行渲染。这是守则的草案。

def testline():
str1 = 'result'
str2 = 'devastating'
str3 = 'Filling Wao: '
return "The {0} for the current year is {1} n Definition: {2} n Wao".format(str1, str2, str3)
testline()

任何帮助都将不胜感激。

result = testline()
print(result)

应该有效!

return只会返回结果,而不会返回到stdout。它有利于通过变量捕获函数输出。

如果要在stdout上输出函数,可以使用print()函数。

def testline():
str1 = 'result'
str2 = 'devastating'
str3 = 'Filling Wao: '
print("The {0} for the current year is {1} n Definition: {2} n Wao".format(str1, str2, str3))
testline()

感谢大家的贡献。他们很接近,但并不是我真正需要的解决方案。我终于找到了一个不错的变通办法。就像我所说的使用打印对账单在HTML页面上没有输出一样。所以我坚持退货声明。这一次,我只返回函数中的变量:

return str1, str2, str3

然后通过Routes.py页面中的变量"结果">呈现函数

然后,我在HTML页面中使用Jinja进行了for循环,并在字符串旁边迭代返回项。类似这样的东西:

{% for result in results %}
<p>The {{ result[0] }} for the current year is {{ result[1] }}</p>
<p>Definition: {{ result[2] }}</p>
<p>Wao</p>
{% endfor %}

谢谢,当我运行浏览器时,你可以猜对了,它就像我想要的一样。我希望它能帮助到别人。

最新更新