Получить текущий маршрут вместо route_path в пирамиде

У меня есть панель навигации, например:

<div id="nav">
 <ul>
  <li
  % if request.current_route_path == "somepath":
  class="current"
  % endif
  > <a href='/page1"> 1 </a></li>
  <li
  % if request.current_route_path == "another_test":
  class="current"
  %endif
  > <a href="/page2"> 2 </a> <li>
  </ul>
</div>

Я хочу добавить несколько кодов, чтобы проверить, что является текущим route чтобы я мог решить, какая полоса будет выделена (class="current").

Я знаю, что у Пирамиды есть метод current_route_path чтобы получить путь к текущему URL. Тем не менее, я думаю, что лучше использовать имя маршрута вместо пути маршрута. У кого-нибудь есть идеи по этому поводу?

2 ответа

Решение

Я думаю, что вы ищете что-то вроде этого:

% if request.url == request.route_url('my_route_name')
##do stuff
%endif

где request.url - это текущий URL, а request.route_url('my_route_name') - это URL названного маршрута.

То, что вы хотите, это использовать matched_route,

if request.matched_route.name == 'my_route_name':
Другие вопросы по тегам