Jinja2 模板到 Django 模板

Posted

技术标签:

【中文标题】Jinja2 模板到 Django 模板【英文标题】:Jinija2 Template to Django Template 【发布时间】:2022-01-12 16:59:59 【问题描述】:

如何将此代码从 jinja2 模板转换为 django 模板

`% if (request.endpoint == 'venues') or
            (request.endpoint == 'search_venues') or
            (request.endpoint == 'show_venue') %
          <form class="search" method="post" action="/venues/search">
            <input class="form-control"
              type="search"
              name="search_term"
              placeholder="Find a venue"
              aria-label="Search">
          </form>
          % endif %`

【问题讨论】:

【参考方案1】:

只需删除if 标签后的每个括号(Django 模板不支持):

% if request.endpoint == 'venues' or request.endpoint == 'search_venues' or request.endpoint == 'show_venue' %
<form class="search" method="post" action="/venues/search">
  <input class="form-control"
         type="search"
         name="search_term"
         placeholder="Find a venue"
         aria-label="Search">
</form>
% endif %

或者,如果您想让它更紧凑,请将“搜索端点”作为列表变量传递给模板,例如search_endpoints = ['venues', 'search_venues', 'search_venues'],您可以使用 in 运算符实现相同目的:

% if request.endpoint in search_endpoints %
<form class="search" method="post" action="/venues/search">
  <input class="form-control"
         type="search"
         name="search_term"
         placeholder="Find a venue"
         aria-label="Search">
</form>
% endif %

【讨论】:

以上是关于Jinja2 模板到 Django 模板的主要内容,如果未能解决你的问题,请参考以下文章