如何在 Django 中设置等于 URL 名称的 id 标签

How to set id tag equal to URL name in django

我正在尝试将动态 id 属性设置为 HTML 中的 <body> 标记。

像这样 - <body id="{{ django_view_name }}>"

我希望 id 属性具有页面名称,例如主页 id="home"、博客页面 id="blog" 和联系页面 id="contact"

我不想使用 Javascript 或 Jquery。

我创建了一个 main.html 模板,然后我是 inheriting 每个其他模板(例如 index.html 模板)中的主模板。

main.html标签中的代码如下所示 -

<div class="content-wrapper" id="content">
    <%include file="${static.get_template_path('header.html')}" args="online_help_token=online_help_token" />
    ${self.body()}
</div>

然后在 index.html 模板上,我 inheriting 是这样的 -

<%inherit file="main.html" />

更新:需要更多信息

我如何评估${ request.resolver_match.url_name }的价值。例如,如果 id="${ request.resolver_match.url_name }" 的计算结果为 id="home",那么我想做这样的事情 -

%if ${ request.resolver_match.url_name }=root:
    <div class="container">
else:
    something_else

我该怎么做?非常感谢任何帮助。

试试这个,

<body id="{{ request.resolver_match.url_name }}"> 

这将根据您在 urls.py urls

中定义的 url 名称生成 ID

更新: 编辑问题后,我看到您使用了 mako 模板

所以你需要,

<body id="${ request.resolver_match.url_name }">