Flask-Admin链接返回主站点

时间:2015-12-13 05:58:50

标签: html flask

有没有办法修改flask-admin管理员顶部面板上的主页按钮URL链接,以便重定向回主站点?

我可以在custom.html页面中添加链接,例如:

{% extends 'admin/master.html' %}
{% block body %}
    <a href="{{ url_for('main.home') }}">Home</a>
{% endblock %}

但这隐藏在自定义页面中。我更喜欢管理员的顶级链接。

2 个答案:

答案 0 :(得分:3)

最简单的方法是添加菜单链接并单独保留管理主页(您可能希望将来添加仪表板等):

from flask.ext.admin.menu import MenuLink

# Create admin
admin = Admin(app, name='Admin', url='/')
admin.add_view(ImageView(model=Image, session=db.session, category='Database', name='Images'))
# Add custom link to public website home page
admin.add_link(MenuLink(name='Public Website', category='', url=url_for('main.home')))

答案 1 :(得分:0)

您可以覆盖 get_urlMenuLink 方法。这样您就可以解决应用程序上下文问题。

from flask import url_for
from flask_admin import Admin
from flask_admin.menu import MenuLink

class MainIndexLink(MenuLink):
    def get_url(self):
        return url_for("main.index")


admin = Admin(name="Admin")
admin.add_link(MainIndexLink(name="Main Page"))
def create_app():
    app = Flask(__name__)

    from app.admin import admin
    admin.init_app(app)

   return app