2016-07-22 93 views
1

我正在用Python和Flask構建一個應用程序。我有兩個選項的下拉按鈕。我想要它,以便這兩個選項include在某個div中有不同的html。 Jinja有辦法做到這一點嗎?我對web開發很陌生。與Jinja包含html的按鈕?

這是我得到的(不起作用),但顯示了我想要做的。

<div class="btn-group" role="group"> 
     <!-- Split button --> 
       <div class="btn-group"> 
        <button type="button" class="btn btn-default">Topic Modle</button> 
        <button type="button" class="btn btn-default dropdown-toggle" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false"> 
        <span class="caret"></span> 
        <span class="sr-only">Toggle Dropdown</span> 
        </button> 
        <ul class="dropdown-menu"> 

        <li><a href="#lsa">LSA</a></li> <!-- I want this button to include vis_lsa.html --> 

        <li><a href="#lda">LDA</a></li> <!-- and this button to include vis_lda.html --> 

        </ul> 
       </div> 

     {% if #lsa %} 
     {% include 'vis_lsa.html' %} 
     {% endif %} 

     {% if #lda %} 
     {% include 'vis_lda.html' %} 
     {% endif %} 

    </div> 

我已經看了一下模板的Jinja文檔,但沒有發現類似於我想要做的事情。我不確定是否需要使用jQuery來代替它?我不知道任何jQuery,所以希望我不需要它來做到這一點。

+1

您有幾個選項,其中大部分都包含JavaScript。另一個需要將每個定位點設置爲一個URL以使用所請求的包含來呈現該頁面。但是,沒有辦法讓HTML直接與Jinja交互。 – dirn

+0

@dirn,你覺得我應該看看JavaScript或jQuery嗎?對於初學者來說JavaScript可能更容易?我應該看看JavaScript的簡單「if」語句並從那裏入手嗎?不太確定該從哪裏出發。感謝您的回覆! – SnarkShark

+1

這取決於你是如何做到的。如果你想使用Ajax,jQuery將比vanilla JavaScript簡單得多。如果您預渲染所有內容並只想使用JavaScript來切換某些可見性,那麼jQuery就會變得過度。 – dirn

回答

1

可以使用含有type="submit" form標籤的下拉然後創建一個custom filter來檢查,如果該request.form值是LSALDA之後它包括適當的HTML文件。 Jinja顯式請求變量爲available