4m1*_*4j1 3 css python jinja2 flask twitter-bootstrap
我正在使用Flask/Jinja2和Bootstrap 3.
我想添加class="active"
到当前的导航元素.
这些元素存储在prog_ids
:
/programme/23022014
/programme/24022014
/programme/25022014
Run Code Online (Sandbox Code Playgroud)
我跟着像这样的一些例子,我的HTML代码是:
<ul class="nav nav-pills ">
{% for prog_id in prog_ids %}
{% macro nav_link(endpoint, prog_id) %}
{% if request.endpoint.endswith(endpoint) %}
<li class="active">
<a href="{{ url_for(endpoint) }}">
<span class="badge pull-right">-</span>
{{prog_id|strftime_b}}
</a>
</li>
{% else %}
<li>
<a href="{{ url_for(endpoint) }}">
<span class="badge pull-right">-</span>
{{prog_id|strftime_b}}
</a>
</li>
{% endif %}
{% endmacro %}
{% endfor %}
</ul>
Run Code Online (Sandbox Code Playgroud)
上面的代码有错误吗?因为,它什么都没有显示.
您的代码只是一遍又一遍地定义一个宏,它不会呈现任何内容.避免阅读request.endpoint
和使用基本模板来执行此操作.
base.html
<ul class="nav nav-pills">
<li class="{% block nav_here %}{% endblock %}">Here</li>
<li class="{% block nav_there %}{% endblock %}">There</li>
<li class="{% block nav_anywhere %}{% endblock %}">Anywhere</li>
</ul>
{% block content %}{% endblock %}
Run Code Online (Sandbox Code Playgroud)
there.html
{% extends "base.html" %}
{% block nav_there %}active{% endblock %}
{% block content %}
<blockquote>No matter where you go, there you are.</blockquote>
{% endblock %}
Run Code Online (Sandbox Code Playgroud)
基本导航定义类中的空nav_
块,li
子模板将相关的块设置为active
.您可以将此扩展到您希望在页面中进行子导航的范围.
归档时间: |
|
查看次数: |
3144 次 |
最近记录: |