跳转到主要内容

简单的Django导航模板标签

项目描述

https://badge.fury.io/py/django-navtag.svg https://travis-ci.org/SmileyChris/django-navtag.svg?branch=master https://codecov.io/gh/SmileyChris/django-navtag/branch/master/graph/badge.svg

一个简单的Django模板标签,用于处理导航项选择。

用法

将应用程序添加到您的 INSTALLED_APPS 设置

INSTALLED_APPS = (
    # ...
    'django_navtag',
)

给您的基模板添加一个导航块,如下所示

{% load navtag %}

{% block nav %}
{% nav text ' class="selected"' %}
<ul class="nav">
    <li{{ nav.home }}><a href="/">Home</a></li>
    <li{{ nav.about }}><a href="/about/">About</a></li>
</ul>
{% endblock %}

在您的模板中,扩展基模板并设置导航位置

{% extends "base.html" %}

{% block nav %}
{% nav "home" %}
{{ block.super }}
{% endblock %}

层次导航

要创建一个可检查的子菜单,只需用点分隔项

{% nav "about_menu.info" %}

这将传递给 {% if nav.about_menu %}{% if nav.about_menu.info %}

使用不同的上下文变量

默认情况下,此标签创建一个 nav 上下文变量。要使用其他上下文变量名,请调用 {% nav [item] for [var_name] %}

{% block nav %}
{% nav "home" for sidenav %}
{{ block.super }}
{% endblock %}

设置nav变量输出的文本

如初始示例所示,您可以为 nav 上下文变量的文本返回值设置。使用格式 {% nav text [content] %}。例如

{% nav text "active" %}
<ul>
<li class="{{ nav.home }}">Home</li>
<li class="{{ nav.contact }}">Contact</li>
</ul>

还可以使用上下文变量的布尔比较,而不是文本值。

<section{% if nav.home %} class="wide"{% endif %}>

如果使用不同的上下文变量名称,请使用以下格式:{% nav text [content] for [var_name] %}

项目详情


下载文件

下载适用于您的平台的文件。如果您不确定选择哪个,请了解更多关于安装包的信息。

源分布

django-navtag-3.0.tar.gz (9.3 kB 查看哈希值)

上传时间

构建分布

django_navtag-3.0-py3-none-any.whl (11.7 kB 查看哈希值)

上传时间 Python 3

由以下支持