Kolben-Admin erweitern von templates
Ich bin versucht zu verlängern meinem template mit 'master.html' Vorlage-Kolben-Admin so:
{% extends 'admin/master.html' %}
{% block body %}
Hello!!!
{% endblock %}
Und ich bekomme Fehler:
File "/usr/local/Cellar/python/2.7.3/lib/python2.7/site-packages/Jinja2-2.6-py2.7.egg/jinja2/environment.py", line 894, in render
return self.environment.handle_exception(exc_info, True)
File "/Users/Slowpoke/Projects/Python/spider/spider/templates/form.html", line 1, in top-level template code
{% extends 'admin/master.html' %}
File "/usr/local/Cellar/python/2.7.3/lib/python2.7/site-packages/Flask_Admin-1.0.6-py2.7.egg/flask_admin/templates/admin/master.html", line 1, in top-level template code
{% extends admin_base_template %}
File "/usr/local/Cellar/python/2.7.3/lib/python2.7/site-packages/Flask-0.9-py2.7.egg/flask/templating.py", line 57, in get_source
return loader.get_source(environment, local_name)
File "/usr/local/Cellar/python/2.7.3/lib/python2.7/site-packages/Jinja2-2.6-py2.7.egg/jinja2/loaders.py", line 162, in get_source
pieces = split_template_path(template)
File "/usr/local/Cellar/python/2.7.3/lib/python2.7/site-packages/Jinja2-2.6-py2.7.egg/jinja2/loaders.py", line 29, in split_template_path
for piece in template.split('/'):
UndefinedError: 'admin_base_template' is undefined
Hier ist, wie ich bin initialisieren Kolben-Admin:
admin = Admin(app, name='Spiders')
admin.add_view(AdminView(User, Session, name='Users'))
Und AdminView Klasse:
from flask.ext.admin.contrib.sqlamodel import ModelView
from flask.ext import login
class AdminView(ModelView):
def is_accessible(self):
return login.current_user.is_authenticated()
- Könnten Sie zeigen wie Sie initialisieren Sie Ihre admin-und template-Verzeichnis-Struktur???
- Hier gehen Sie, admin = Admin(app name='Spinnen') admin.add_view(AdminView(User, Session-name='Benutzer'))
- Wie definiert
AdminView
? - Ich aktualisiert meine Frage
- bitte sehen Sie meine aktuelle Frage
Du musst angemeldet sein, um einen Kommentar abzugeben.
Schauen, wie Sie die Vorlage verwenden, die außerhalb der
Flask-Admin
.flask_admin.base.BaseView
haben selbst render-Funktion, die bei der Installation einige Variablen. Sie können versuchen, das setup es Händisch, aber ich sehe nicht Grund verwendenFlask-Admin
templates außerhalb vonFlask-Admin
Ansichten.Siehe schlechtes Beispiel:
Ich lief in das gleiche Problem versucht zu verlängern Kolben-Admin-Vorlagen.
Ändern
return render_template('path_to_template')
zureturn self.render('path_to_template')
ist das Problem behoben.self
Objekt (d.h. innerhalb einer Klasse-Instanz – in diesem Fall Sie nicht immer definieren können@app.route()
leicht).