Django 模版中如何对主菜单进行选中?

时间:2023-01-12 22:13:13

如何满足这个需求?

  1. view中传递过来一个当前页面的参数标识,通过模版语言进行判断

{% if current_page == 'index' %}active{% endif %}

  # 每一个子页面的view都需要把 current_page 传递到模版,可能会少写、漏写从而出错,view中也写重复代码

  2. 获取当前页面的URL地址,通过切片然后进行逻辑判断

{% if request.path == '/' %}active{% endif %}
{% if request.path|slice:'5' == '/hello' %}active{% endif %}

  # request.path获取当前页面url路径,不包括域名,再通过模版切片进行切片判断,以这个URL开头的子URL都标记这个标签

核心知识点

  1. 获取当前页面的除域名之外的URL request.path

  2. 判断字符是否一致        ==

  3. 对字符模版值切片        |slice:"number"

  4. 模版判断            {% if condition %} {% else %} {% endif %}