for loop inside a flask function - 内部服务器错误
for loop inside a flask function -Internal server error
我正在尝试使用 flask 框架和 jinja 模板打印斐波那契数列。
下面的程序给我一个 505 内部服务器错误!
但是当我在函数内评论 for 循环时,它给了我正确的结果
fibonacciURL.py
from flask import Flask
from jinja2 import Environment, PackageLoader
app= Flask(__name__)
def fib(num):
if num==1 or num==0:
return num
else:
return fib(num-1)+fib(num-2)
@app.route('/fib/<number>')
def generate_fibonacci(number):
env= Environment(loader=PackageLoader('Fibonacci','templates'))
fibMap={}
#for x in range(number):
# fibMap[i]=fib(i)
for i in range(0,number):
print 'Hello'
#pass
template= env.get_template('table_template.html')
return template.render(num=3,map={1:1,2:2,3:3})
#return 'wda'
if __name__ =='__main__':
app.run(host='0.0.0.0')
我的table_template.html是
<table>
{%for i in range(1,num)%}
<tr>
<td>{{i}}</td>
<td>{{map[i]}}</td>
</tr>
{% endfor %}
</table>
没有 for 循环,页面显示了预期的结果
路由参数 <number>
以 字符串 的形式提供给您,而不是整数。
如果你想让 Flask 给你一个数值,在路由配置中告诉它:
@app.route('/fib/<int:number>')
请参阅快速入门中的 Variable Rules section。
我正在尝试使用 flask 框架和 jinja 模板打印斐波那契数列。 下面的程序给我一个 505 内部服务器错误! 但是当我在函数内评论 for 循环时,它给了我正确的结果
fibonacciURL.py
from flask import Flask
from jinja2 import Environment, PackageLoader
app= Flask(__name__)
def fib(num):
if num==1 or num==0:
return num
else:
return fib(num-1)+fib(num-2)
@app.route('/fib/<number>')
def generate_fibonacci(number):
env= Environment(loader=PackageLoader('Fibonacci','templates'))
fibMap={}
#for x in range(number):
# fibMap[i]=fib(i)
for i in range(0,number):
print 'Hello'
#pass
template= env.get_template('table_template.html')
return template.render(num=3,map={1:1,2:2,3:3})
#return 'wda'
if __name__ =='__main__':
app.run(host='0.0.0.0')
我的table_template.html是
<table>
{%for i in range(1,num)%}
<tr>
<td>{{i}}</td>
<td>{{map[i]}}</td>
</tr>
{% endfor %}
</table>
没有 for 循环,页面显示了预期的结果
路由参数 <number>
以 字符串 的形式提供给您,而不是整数。
如果你想让 Flask 给你一个数值,在路由配置中告诉它:
@app.route('/fib/<int:number>')
请参阅快速入门中的 Variable Rules section。