如何在django中将id标记设置为等于URL名称

时间:2017-07-31 11:31:19

标签: python django django-templates mako

我正在尝试将动态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

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

1 个答案:

答案 0 :(得分:2)

试试这个,

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

这将根据您在urls.py网址

中定义的网址名称生成ID

<强>更新 编辑问题后,我看到你使用了mako模板

所以你需要,

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