我正在尝试创建一个包含导航栏的站点,使用Flask菜单和flaskbreadcrumbs。修饰符的用法如下(Flask-Menu示例):
@app.route('/')
@menu.register_menu(app, '.', 'Home')
def index():
return tmpl_show_menu() #Some view
但是,我希望使用MethodView类,它最终将允许更复杂的操作。模板摘录:
^{pr2}$我的代码抛出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'))
如何正确装饰可插拔视图?干杯。在
装饰aView有两个选项:
a.您可以手工修饰
as_view()
的返回值。在如果您使用flask0.8+,您可以指定要在类声明中应用的装饰器列表。在
^{pr2}$相关问题 更多 >
编程相关推荐