Python 3.x 检查视图是否具有装饰器烧瓶
我想以某种方式检查端点是否有类似于Python 3.x 检查视图是否具有装饰器烧瓶,python-3.x,flask,flask-login,Python 3.x,Flask,Flask Login,我想以某种方式检查端点是否有类似于login\u required的装饰器,有什么方法可以做到吗? 这就是我获取所有url_规则的方式: def has_no_empty_params(rule): defaults = rule.defaults if rule.defaults is not None else () arguments = rule.arguments if rule.arguments is not None else () return len(
login\u required
的装饰器,有什么方法可以做到吗?
这就是我获取所有url_规则的方式:
def has_no_empty_params(rule):
defaults = rule.defaults if rule.defaults is not None else ()
arguments = rule.arguments if rule.arguments is not None else ()
return len(defaults) >= len(arguments)
def sitemap():
links = []
for rule in
if "GET" in rule.methods and has_no_empty_params(rule):
url = flask.url_for(rule.endpoint, **(rule.defaults or {}))
links.append((url, rule.endpoint))
return links
这是我的导航栏,我在其中使用了这些,但我不想以某种方式显示具有所需的decorator登录名的视图
{% for url, endpoint in endpoints %}
{% if request.url_rule != endpoint %}
<a href="{{ url }}">
<button class="tablecontent">{{ endpoint.split('.', 1)[1] }}</button>
</a>
{% endif %}
{% endfor %}
{%用于url,端点位于端点%}
{%if request.url_rule!=endpoint%}
{%endif%}
{%endfor%}
我很抱歉编辑太晚,但如果有人还在这里,我们将不胜感激。或者我最好在字典中硬编码视图名称?你能详细说明一下吗?比如,我可以用它来查看一个视图,例如add\u photo是否有一个名为login\u required的装饰器,它可能看起来像这样的url。needs\u loginI仍然不理解“Like something that,I Can's,that,I Can use to,is a view”毫无意义。您可以执行if语句。还需要登录它。您可以检查用户是否已通过身份验证。@MareksNo如果您详细说明为什么要这样做,并显示一些代码(如果可能的话)会更好回答您的问题?你能详细解释一下吗?比如我可以用它来查看一个视图,比如add_photo是否有一个名为login_required的装饰器,它可能看起来像这个url。needs_loginI仍然不理解“像我可以用它来查看一个视图”是没有意义的。您可以执行if语句。还需要登录它。您可以检查用户是否已通过身份验证。@MareksNo如果您详细说明为什么要这样做,并显示一些代码(如果可能的话)会更好回答您的问题?