request.endpoint的内容[:5]

问题描述 投票:1回答:1

我正在阅读Miguel Grinbergs Flask的书,有一次他使用以下行:

request.endpoint[:5] != 'auth.'

我知道[:5]是一个切片操作,但我不确定为什么它在这里使用。列表包含什么,我们只需要0-5元素?

python flask request
1个回答
2
投票

列表包含什么,我们只需要0-5元素?

确切地说,request.endpoint不是一个列表,它是一个字符串。并且它的其余部分包含什么并不重要,代码只关注它从'auth.'开始:

('auth.somethingsomething'[:5] == 'auth.') is True

request.endpoint是当前视图函数注册的名称,例如auth.logindef login():视图的名称。具有prefix.前缀的视图已在蓝图上注册,该蓝图对相关视图进行分组。因此代码检查当前正在处理的视图是否是auth蓝图的一部分。

如果您对它包含的值感到好奇,可以在代码中添加一个调试断点并检查它:

# ... previous app code ...
import pdb; pdb.set_trace()
request.endpoint[:5] != 'auth.'

然后运行并测试代码。当它到达那一点时,它将暂停执行并给你一个pdb shell,它将让你看看request对象及其endpoint属性。

© www.soinside.com 2019 - 2024. All rights reserved.