[英]Django - How to use an increment counter inside of template
如果达到/超过注册特定事件的最大人数,我试图不显示我的表单(display:none;)。 signups是具有事件名称和全名字段的模型。 我还使用ListView,FormView遍历事件列表,每个事件都有一个注册表单。
我正在尝试做类似的事情:
<form action="/events/" class="form" method="POST" style="{% for signups in signup %}{% if signups.eventname == events.name %}*counter increment here*{% if *counter value* >= events.maximum %}display:none;{% endif %}{% endif %}{% endfor %}" id="{{ events.name }}" name="{{ events.name }}">
{%如果signups.eventname == events.name%}检查具有相同事件名的对象的模型注册,以便仅计算所需事件的对象。 这些全部位于{%for events_list%}中的事件{%endfor%}中,并考虑星号注释中的文本。
我该怎么做? 如果您想查看其他文件或信息,我将很乐意对其进行编辑。
认为您的想法是错误的。 首先在您的视图中获取注册的人数,然后您可以将其作为模板变量传递给模板,并进行if条件,如下所示:
{% if (signed_up_variable) < (max number) %}
# display the form
{% endif %}
虽然,如果我没记错, ifequal
可能已被弃用,因此请相应地进行调整。
我猜你需要forloop.counter。 https://docs.djangoproject.com/zh/1.10/ref/templates/builtins/#for
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.