【问题标题】:How to set id tag equal to URL name in django如何在 django 中设置 id 标签等于 URL 名称
【发布时间】:2018-01-06 23:03:31
【问题描述】:

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

类似这样的东西 - <body id="{{ django_view_name }}>"

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

我不想使用 Javascript 或 Jquery。

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

main.htmltag 中的代码如下所示 -

<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

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

【问题讨论】:

标签: python django django-templates mako


【解决方案1】:

试试这个,

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

这将根据您在 urls.py urls 中定义的 url 名称生成 id

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

所以你需要,

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

【讨论】:

  • 我需要专门为此导入任何东西吗?
  • 它在 html 中添加了相同的内容,而无需计算它。现在,我的页面中有&lt;body id="{{ request.resolver_match.url_name }}" class="ltr lang_en"&gt;
  • 如何在视图模板中调用基本模板?你在扩展布局吗?你能展示一下你的模板和视图代码吗?
  • 你在 django 中使用 mako 模板?
猜你喜欢
  • 2020-02-20
  • 2014-09-07
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-03-20
  • 2021-11-10
相关资源
最近更新 更多