2017-03-04 68 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',如果没有订阅,只能显示订阅选项。 –