我的工作审查评级形式,我想显示的评级星由用户给出。我得到了一个整数值评级从数据库出5评级。
但是我想在django模板中实现一个逻辑,看起来像下面的代码,
a = "THIS IS A STRING"
b = "THIS IS B STRING"
max_val = 5
def review_rating(val):
flag = 0
for i in range(max_val):
if flag == 0:
for j in range(val):
print(a)
flag = 1
new_val = max_val - val
for k in range(new_val):
print(b)
break
review_rating(1)
注:val
为数据库中的额定值。
我试过过滤器,
下面是我的过滤器代码,
@register.filter(name='subtract')
def subtract(value, arg):
return int(value) - int(arg)
下面是我的django模板代码
<p class="starsnd-small">
{% with ''|center:review.review_star as range %}
{% for _ in range %}
<b value="" id="checked" href="#"></b>
{% endfor %}
{% endwith %}
{% with {{5|subtract:review.review_star}} as range %}
{% for _ in range %}
<b value="" href="#"></b>
{% endfor %}
{% endwith %}
</p>
有人能帮忙吗?
1条答案
按热度按时间uqcuzwp81#
你需要使用django模板标签https://docs.djangoproject.com/en/4.1/howto/custom-template-tags/
您需要有一个名为templatags的文件夹,以及在您的html文件中,您需要加载您注册的过滤器{% load subtract %}