如何在django模板中插入业务逻辑?

eagi6jfj  于 2023-03-04  发布在  Go
关注(0)|答案(1)|浏览(103)

我的工作审查评级形式,我想显示的评级星由用户给出。我得到了一个整数值评级从数据库出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>

有人能帮忙吗?

uqcuzwp8

uqcuzwp81#

你需要使用django模板标签https://docs.djangoproject.com/en/4.1/howto/custom-template-tags/
您需要有一个名为templatags的文件夹,以及在您的html文件中,您需要加载您注册的过滤器{% load subtract %}

相关问题