Я пытаюсь создать сайт, содержащий навигационную панель, используя Flask-Menu и Flask-Breadcrumbs. Декоратор используется как так (Flask-Menu пример):Декорирование Flask Pluggable Views - BuildError
@app.route('/')
@menu.register_menu(app, '.', 'Home')
def index():
return tmpl_show_menu() #Some view
Однако я хочу использовать классы MethodView, которые в конечном итоге позволяют для более сложных операций. Шаблон выдержка:
{%- for item in current_menu.children -%}
<a href="{{ item.url}}">{{ item.text }}</a>
{%- endfor -%}
Мой код бросает 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'))
Как правильно декорировать вставных взгляды? Приветствия.
Этот вопрос кажется похожи https://stackoverflow.com/questions/13345030/url-for-builderror-in-flask-extension-with-pluggable-views – dylaan