Django活动菜单高亮

1、settings添加TEMPLATE_CONTEXT_PROCESSORS配置:

wKioL1MFtOvwUfPRAAFmrU85wqg384.jpg

我的是1.6版本,TEMPLATE_CONTEXT_PROCESSORS默认没有在settings里面,看官网有它的默认值,然后再加上request那一段,这样在模板上就可以使用request里面的东西


2、views里面的render_to_response需要带上context_instance=RequestContext(request),如:

wKiom1MFtpuBIQHZAADXfJHusRg201.jpg


3、在模板上利用request.path的值和urls里面的路由值做对比:

{% url "bloglist" as url_bloglist %}
{% url "blogadd" as url_blogadd %}
{% url "about" as url_about %}
{% url "contact" as url_contact %}
...
          <ul class="nav navbar-nav">
            <li {% if request.path == url_bloglist %}class="active"{% endif %}><a href="/blog/bloglist">Home</a></li>
            <li {% if request.path == url_blogadd %}class="active"{% endif %}><a href="/blog/addblog">ADD</a></li>
            <li {% if request.path == url_about %}class="active"{% endif %}><a href="/about">About</a></li>
            <li {% if request.path == url_contact %}class="active"{% endif %}><a href="/contact">Contact</a></li>
          </ul>

模板url标签可以获取urls配置里面的路径


4、最终实现效果:

wKiom1MFt8HwvB6sAABOUCnkIeI921.jpg

wKioL1MFt5yTv4QWAABY67tu5Fo553.jpg


你可能感兴趣的:(django,bootstrap,templates,活动菜单高亮)