Я довольно новичок в Flask/Flask-Admin. Я следил за учебником по администратору флэшей и сумел заставить панель администратора работать, но немного проиграл, как получить реализованные ниже вещи. https://github.com/flask-admin/flask-admin/tree/master/examples/authFlask Admin Custom View
При входе в систему как обычный пользователь, я могу увидеть только «домашней» страницы. Как я могу выставить другие взгляды на «обычный пользователь» и ограничить такие действия, как только для чтения и т.д.
Я создал «BaseView», который не связан с какими-либо другими моделями, как показано ниже:
class SitesView(MyBaseView): @expose('/') def index(self): return self.render('views/testviews.html') admin.add_view(SitesView(name='Test views', endpoint='test views'))
и HTML, как показано ниже:
{% extends 'admin/master.html' %}
{% block body %}
{{ super() }}
{% if current_user.has_role('view1') %}
<a href="#">Site1</a>
{% endif %}
{% if current_user.has_role('view2') %}
<a>Site2</a>
{% endif %}
{% if current_user.has_role('view3') %}
<a>Site3</a>
{% endif %}
{% if current_user.has_role('view4') %}
<a>Site4</a>
{% endif %}
{% endblock %}
Это г ives меня новая вкладка с разными представлениями с работами, как ожидалось.
Что я пытаюсь достичь здесь, когда пользователь щелкает ссылку Site1, они идут на страницу Site1 в интерфейсе flask-admin, но я не уверен, как это сделать. Я мог бы создать новый маршрут для этого, но проблема в том, что я не могу (не знаю, как) расширять шаблон флэш-админа.
Например, это работает, но это перенаправление страницы за пределами шаблона колба-администратора:
@app.route('/views/') def views(): return render_template('views/views1.html')
и модифицировали шаблоны> админ> index.html страницу с ниже:
<ul class="lead text-center list-group">
{% if current_user.has_role('view1') %}
<li class="list-group-item"><a href="{{ url_for('views') }}">View1</a></li>
{% endif %}
{% if current_user.has_role('view2') %}
<li class="list-group-item"><a href="#">View2</a></li>
{% endif %}
{% if current_user.has_role('view3') %}
<li class="list-group-item">View3</li>
{% endif %}
{% if current_user.has_role('view4') %}
<li class="list-group-item">View4</li>
{% endif %}
</ul
Я хочу построить весь веб-сайт с помощью флеш-админа, чтобы я мог поддерживать постоянство пользовательского интерфейса. Я делаю это неправильно?
Спасибо за ваше время.
Пожалуйста, дайте мне знать, если вы хотите, чтобы я предоставил дополнительную информацию по этой проблеме.
С уважением.