python
  • pyramid
  • 2012-11-25 159 views 4 likes 
    4

    我有导航栏,如当前的路由,而不是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的路径。但是,我认为最好使用路由名称而不是路径路径。有没有人有关于此的想法?

    +0

    为什么匹配路由名称会更好?通常情况下,您会从循环中的某个结构生成这些链接(包括路径),并通过匹配current_route_path来标记“当前”链接。为什么硬编码这些链接? –

    回答

    1

    我认为你正在寻找的东西是这样的:

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

    其中request.url是当前网址和request.route_url( 'my_route_name')是一个名为路径的URL

    28

    什么你想要的是使用matched_route

    if request.matched_route.name == 'my_route_name': 
    
    相关问题