Ich möchte access_control erweitern, um Authentifizierungsmenüverknüpfungen hinzuzufügen. Ich will nicht ganz master.html Vorlage zu überschreiben, so dass ich erstellen Vorlagen/admin/mymaster.html-Datei mit folgendem Inhalt:Stapelüberlauf beim Erben von Basisvorlage (Mastervorlage)
{% extends 'admin/master.html' %}
{% block access_control %}
{{ super() }}
<ul class="nav navbar-nav navbar-right">
<...>
</ul>
{% endblock %}
Jetzt habe ich: Was mache ich falsch ? In letzter Zeit habe ich außer Kraft gesetzt admin/index.html gleiche Art und Weise:
{% extends 'admin/master.html' %}
{% block body %}
<p>Here I'm going to display some data.</p>
{% endblock %}
und es gut funktioniert.
MCVE:
from flask import Flask, redirect, url_for
from flask.ext.admin.base import MenuLink, Admin, BaseView, expose
app = Flask(__name__, template_folder='templates')
@app.route('/')
def index():
return '<a href="/admin/">Click me to get to Admin!</a>'
flaskadmin = admin.Admin(name='Flasky', template_mode='bootstrap3',
base_template='admin/mymaster.html')
flaskadmin.init_app(app)
# Start app
app.run(debug=True)
es soll nicht die übergeordneten Punkte '() ', wie in der Django-Vorlage ist die Methode bereits aufrufbar. Haben Sie versucht, nur '{{block.super}}' zu verwenden? – Anzel
in Jinga2 sollte es super() sein, wenn Block zu erweitern, sowieso spielt es keine Rolle, Super spielt keine Rolle, da es Vererbungsproblem ist. – aryndin
Nun, Sie sollten wirklich jinja2 in Ihrer Frage erwähnen, um Verwirrung zu vermeiden. – Anzel