Python 从烧瓶路径上的装饰器功能内快速弹出

Python 从烧瓶路径上的装饰器功能内快速弹出,python,flask,Python,Flask,我想从应用于Flask视图的decorator函数中创建一个flash弹出窗口。当我在视图中生成一个flash时,一切都很正常。我还希望能够从一个包装器函数中生成flash消息,该函数作用于视图;我尝试过的形式是: from flask import Flask, render_template from functools import wraps def my_wrapper_function(_f): @wraps(_f) def _decorated_function(

我想从应用于Flask视图的decorator函数中创建一个
flash
弹出窗口。当我在视图中生成一个
flash
时,一切都很正常。我还希望能够从一个包装器函数中生成flash消息,该函数作用于视图;我尝试过的形式是:

from flask import Flask, render_template
from functools import wraps

def my_wrapper_function(_f):
    @wraps(_f)
    def _decorated_function(*args, **kwargs):
       ...
       flash(removed_article.get('name', 'expansion'))
       ...
       return _f(*args, **kwargs)

    return _decorated_function


@app.route('/my_view/<int:_id>', methods=['GET'])
@my_wrapper_function
def my_view(_id):
   ...
   return render_template('my_template.jinja2')
从烧瓶导入烧瓶,渲染\u模板
从functools导入包装
定义my_wrapper_函数(_f):
@包裹(_f)
定义函数(*args,**kwargs):
...
flash(已删除文章get('name','expansion'))
...
返回值(*args,**kwargs)
返回函数
@app.route('/my_view/',methods=['GET'])
@我的包装器函数
定义我的视图(_id):
...
返回渲染模板('my\u template.jinja2')
这似乎不起作用,但是,不会显示任何闪存消息。 注意:与在我的视图中生成flash消息相反,确实有效

为完整起见,以下模板包括在内:;我认为解决方案在于python代码

# my_template.jinja2
 {% with messages = get_flashed_messages(with_categories=true) %}
      {% if messages %}
        {% for category, message in messages %}
            {% if category == 'message' %}
              <div class="alert alert-success text-center" role="alert">
            {% else %}
              <div class="alert alert-{{ category }} text-center" role="alert">
            {% endif %}
              {{ message }}
            </div>
        {% endfor %}
      {% endif %}
  {% endwith %}
#my_template.jinja2
{%with messages=get\u flashed\u messages(with\u categories=true)%}
{%if消息%}
{%对于类别,消息中的消息%}
{%if category='消息“%”
{%else%}
{%endif%}
{{message}}
{%endfor%}
{%endif%}
{%endwith%}
由于我在装饰师和烧瓶方面都是新手,我想我应该向我的S.O巫师同伴寻求帮助


提前感谢您考虑我的问题:)

原来我在if语句中引发了flash,但该语句没有执行,现在已修复