我的答案不是 100% 完整,而是我目前所拥有的。我正在做的是根据网站显示图像
我创建的 nav.py 如下所示
nav = [
{'name': 'Home', 'url': '/'},
{'name': 'About', 'url': 'about'},
# {'name': 'pycURL', 'url': 'pythoncurl'},
{'name': 'Contact', 'url': 'contact'},
# {'name': 'cartest', 'url': 'bob'},
# {'name': 'socialtest', 'url': 'social'},
{'name': 'Search', 'url': 'search'},
# {'name': 'Searchtest2', 'url': 'search2'},
{'name': 'layouttest', 'url': 'layouttest'},
# {'name': 'Login', 'url': 'userauth'}
]
然后我将导航导入views.py并添加到每条路线(我还没有测试过没有添加导航到每条路线)
@app.route('/social')
def social():
"""Renders the about page."""
return render_template(
'social.html',
title='socialicons',
year=datetime.now().year,
message='test',
#import nav
nav=nav
)
然后在 layout.html 我在 for 循环中调用 nav
<ul class="nav navbar-nav">
{% for link in nav %}
<li><a href="{{ link.url }}" class="btn-large">{{ link.name }}</a></li>
{% endfor %}
</ul>
我将 layout.html 扩展到我希望应用布局的所有页面
{% extends 'layout.html' %}
在页面顶部
当我想向导航添加新链接时,几乎复制并粘贴新行并更改内容以匹配新路线,它将适用于每个页面。
为什么我回答这个问题是因为我现在正在做的事情就像你想要的那样,但我想让它在类似的系统中工作。我的目标是根据页面动态地将不同的图像应用到导航栏。