小编dyl*_*aan的帖子

装饰 Flask 可插入视图 - BuildError

我正在尝试使用 Flask-Menu 和 Flask-Breadcrumbs 创建一个包含导航栏的网站。装饰器的使用方式如下(Flask-Menu示例):

@app.route('/')
@menu.register_menu(app, '.', 'Home')
def index():
    return tmpl_show_menu() #Some view
Run Code Online (Sandbox Code Playgroud)

但是,我想使用 MethodView 类,它最终将允许进行更复杂的操作。模板摘录:

{%- for item in current_menu.children -%}
    <a href="{{ item.url}}">{{ item.text }}</a>
{%- endfor -%}
Run Code Online (Sandbox Code Playgroud)

我的代码抛出 BuildError: ('contactsApp.SiteView', {}, None)

contactsApp = Blueprint('contactsApp', __name__, template_folder='templates')

@menu.register_menu(contactsApp, '.', 'List')
class ListView(MethodView):

    def get(self):
        contacts = Contact.objects.all()
        return render_template('contacts/list.html', contacts=contacts)

@menu.register_menu(contactsApp, '.site', 'Sites')
class SiteView(MethodView):

    def get(self):
        sites = Site.objects.all()
        return render_template('contacts/sites.html', sites=sites)

contactsApp.add_url_rule('/', view_func=ListView.as_view('list'))
contactsApp.add_url_rule('/site/', view_func=SiteView.as_view('sites'))
Run Code Online (Sandbox Code Playgroud)

如何正确装饰可插入视图?干杯。

python flask

2
推荐指数
1
解决办法
855
查看次数

标签 统计

flask ×1

python ×1