request.endpoint[:5] 的内容
Contents of request.endpoint[:5]
我正在阅读 Miguel Grinberg 的 Flask 一书,有一次他使用了以下行:
request.endpoint[:5] != 'auth.'
我知道 [:5]
是一个切片操作,但我不确定为什么要在这里使用它。列表由什么组成,我们只想要元素 0-5?
What does the list consist of that we only want elements 0-5?
准确的说,request.endpoint
不是一个列表,而是一个字符串。它的其余部分包含什么并不重要,代码只关心它以 'auth.'
:
开头
('auth.somethingsomething'[:5] == 'auth.') is True
request.endpoint
是当前视图函数注册的名称,例如 auth.login
是 def login():
视图的名称。具有 prefix.
前缀的视图已在蓝图上注册,该蓝图将相关视图分组。所以代码正在检查正在处理的当前视图是否是 auth
蓝图的一部分。
如果你想知道它包含什么值,你可以在代码中添加一个调试断点并检查它:
# ... previous app code ...
import pdb; pdb.set_trace()
request.endpoint[:5] != 'auth.'
然后 运行 并测试代码。当它达到那个点时,它会暂停执行并给你一个 pdb
shell,它会让你查看 request
对象及其 endpoint
属性。
您可以通过
在终端上查看
venv $ python manage.py shell
import flask from request
print(request.endpoint)
我正在阅读 Miguel Grinberg 的 Flask 一书,有一次他使用了以下行:
request.endpoint[:5] != 'auth.'
我知道 [:5]
是一个切片操作,但我不确定为什么要在这里使用它。列表由什么组成,我们只想要元素 0-5?
What does the list consist of that we only want elements 0-5?
准确的说,request.endpoint
不是一个列表,而是一个字符串。它的其余部分包含什么并不重要,代码只关心它以 'auth.'
:
('auth.somethingsomething'[:5] == 'auth.') is True
request.endpoint
是当前视图函数注册的名称,例如 auth.login
是 def login():
视图的名称。具有 prefix.
前缀的视图已在蓝图上注册,该蓝图将相关视图分组。所以代码正在检查正在处理的当前视图是否是 auth
蓝图的一部分。
如果你想知道它包含什么值,你可以在代码中添加一个调试断点并检查它:
# ... previous app code ...
import pdb; pdb.set_trace()
request.endpoint[:5] != 'auth.'
然后 运行 并测试代码。当它达到那个点时,它会暂停执行并给你一个 pdb
shell,它会让你查看 request
对象及其 endpoint
属性。
您可以通过
在终端上查看venv $ python manage.py shell
import flask from request
print(request.endpoint)