python
  • pyramid
  • 2012-11-25 158 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': 
    
    相關問題