Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/python-3.x/18.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 3.x 检查视图是否具有装饰器烧瓶_Python 3.x_Flask_Flask Login - Fatal编程技术网

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如果您详细说明为什么要这样做,并显示一些代码(如果可能的话)会更好回答您的问题?