【发布时间】:2021-06-15 17:22:01
【问题描述】:
我正在尝试将参数传递给我在 app.route 中创建的函数。
在下面的代码中,我创建了 2 个页面,1 个主页和 1 个管理页面。 我想允许或拒绝访问 /admin 页面,具体取决于我是否直接在我的 python 代码中将参数 ADMINpass 设置为 False 或 True。 我知道在这种特殊情况下,它会起作用,因为我不需要传递参数,但是如果我在另一个下标中定义我的管理页面并将其导入主脚本,它会告诉我 ''admin 正好 1参数(给定 0)。所以我希望这个功能适用于任何情况。
我现在并不真正担心安全性,因为我正在测试一些东西。 非常感谢,如果已经发布了类似的问题,我们深表歉意。代码如下:
###User section, importing parameters
ADMINpass=False
###End of user section
##Main code
@app.route('/') #Home page
def homepage():
return 'Hello, main page here'
@app.route('/admin') #Admin page that I want to access
def admin(ADMINpass): #Trying to pass the argument here will not work, probably because of the app.route
if ADMINpass==False: #If admin not activated in code, redirect to homepage
a=redirect(url_for('homepage'))
if ADMINpass == True: #If admin is activated, permit access
print('This is the admin page')
if __name__== '__main__':
app.run()
【问题讨论】:
-
app.run()末尾没有括号,这意味着该函数永远不会被调用。 -
嘿 Jasmijn,谢谢,但我确实将它包含在我的代码中,只是忘记在这里写了,我要编辑我的文本。谢谢指出
-
“用户部分”是什么意思?那部分是否与管理员路由属于同一模块?