2017-03-04 69 views
0

我有4種不同類型的訂閱包,我需要以某種方式設置模板,如果一個訂閱處於活動狀態,則應禁用其他註冊按鈕。我有兩個變量來處理。Jinja模板中的多個參數Flask

is_active=True 
subs_type = 'yearly' or 'monthly' or 'quarterly' or 'weekly' 

在我的packages.html頁我有4個包,比如:

<div> 
<h1>Package 1</h1> 
<a href="/someurl"><input class"btn" type="submit" value="enroll"></a> 
</div> 
<div> 
<h1>Package 2</h1> 
<a href="/someurl"><input class"btn" type="submit" value="enroll"></a> 
</div> 
<div> 
<h1>Package 3</h1> 
<a href="/someurl"><input class"btn" type="submit" value="enroll"></a> 
</div> 
<div> 
<h1>Package 4</h1> 
<a href="/someurl"><input class"btn" type="submit" value="enroll"></a> 
</div> 

我有幾個條件,適用的我不能讓一起工作。 1.如果用戶訂購了其中一個包,則所有其他註冊按鈕應彈出他/她已訂閱的消息。 2.訂閱的應播種取消按鈕,但休息應顯示登記按鈕,但應該工作。

有人可以幫助我使它工作嗎?

+0

4個包是否匹配4個'subs_type's? – Vallentin

+0

只有匹配的變量是is_active == Ture。所有包都與條紋連接,因此它們不能匹配。所有軟件包中的pacakge_type都不相同。 –

+0

如果'subs_type'沒有關聯,那麼你如何知道客戶端訂閱了哪個包? – Vallentin

回答

0

考慮你在那些評論中所說的話。 is_active定義客戶端是否已訂閱,package_type描述客戶端訂閱哪個包。

所以我們說這個包1爲每年的包,然後:

<h1>Package 1</h1> 
{% if is_active %} 
    {% if package_type == "yearly" %} 
    <a href="/someurl"><input class"btn" type="submit" value="cancel"></a> 
    {% else %} 
    already enrolled to another package 
    {% endif %} 
{% else %} 
<a href="/someurl"><input class"btn" type="submit" value="enroll"></a> 
{% endif %} 

假設你正在使用的神社,而不是另一種模板語言。

+0

有道理,但讓我把它應用到我所有的HTML包中,我會打勾你的答案。謝謝 –

+0

如果我沒有把握好,那麼請隨時闡述一下這個問題。因爲這就是我目前的理解。 – Vallentin

+0

到目前爲止的一個問題....如果is_active,那麼它應該顯示另一個包訂閱的。根據我的理解可以說,有4種類型的包,默認的是'NOPACKAGE',如果沒有訂閱,只能顯示訂閱選項。 –