我试图将从Random()获取的值传递给Help(),但它返回为AttributeError:' NoneType'对象没有属性' app'。
from flask import Flask, request, render_template
from random import randint
@app.route('/help')
def Help(Random):
PassingRandom = Random
return render_template("help.html", PassingRandom=PassingRandom)
def Random():
Value = randint(0,100)
return Value
MyValue = Random()
if __name__ == "__main__":
Help(MyValue)
app.run(debug=True)
他们是否在烧瓶中传递参数而不返回错误,最好不使用全局变量。
答案 0 :(得分:3)
您可以允许用户通过网址将值传递给该功能,也可以在Random
内拨打Help
:
@app.route('/help/<random>')
def Help(random):
return render_template("help.html", PassingRandom=random)
或者,通过调用Random
中的函数Help
:
@app.route('/help')
def Help():
PassingRandom = Random()
return render_template("help.html", PassingRandom=PassingRandom)
答案 1 :(得分:3)
哇...我强烈建议您阅读有关Flask的一些教程 - 但只是为了快速解释一下。
首先,您从未申报过您的应用。
其次,你不应该(通常)直接调用你的@ app.route函数。一般的想法是你通过一个网址(在你的情况下/帮助)来达到这个功能。
如果你想在整个应用程序中使用相同的随机值,那么是的,全局变量就是答案。如果您希望每次访问/帮助时都更改它,只需从那里随机调用。
顺便说一下,只需要一些PEP8来亮化日期功能/变量名称应该是小写的,并且不要使用与模块名称相同的名称(例如随机)