как преобразовать логотип Navbar(логотип, View('Home', ... из модуля Flask-Nav в интерактивную ссылку
в части кода Python (как app.py) в части строки меню мы можем определить нашу панель навигации как:
# Define navbar with logo #
#######################################################
logo = img(src='/static/img/logo192.png', height="55",
width="70", style="margin-top:-15px",
)
# here we define our menu items
nav = Nav()
# registers the "top" menubar
nav.register_element('top', Navbar(logo,
View('Home', 'index'),
View('LogIn', 'login'),
View('SignUp', 'signup'),
))
часть кода html в моем шаблоне:
<body>
<div class="navbar navbar-fixed-top">
{% block navbar %}
{{nav.top.render()}}
{% endblock %}
</div>
логотип img не является интерактивным, как я могу сделать это изображение интерактивным для любой ссылки
1 ответ
Решение
это возможно, если мы добавим скрипты в мой файл шаблона
после добавления атрибута id в <img:
# Define navbar with logo #
#######################################################
logo = img(id='logo', src='/static/img/logo192.png', height="55",
width="70", style="margin-top:-15px",
)
и может изменить тег <img на <тег с js-скриптами как:
</body>
{% block scripts %}
{{super()}}
<script>
var initi = document.getElementById('logo').outerHTML;
console.log(initi);
var code =
'<a id = "alogo" href="">' +
initi +
'</a>';
console.log(initi);
window.addEventListener('load', function(event) {
document.getElementById('logo').outerHTML = code;
document.getElementById('alogo').href ="{{ url_for('image_map') }}"
});
</script>
{% endblock %}