我试图使用模板标签来完成某些事情。 我有一个商店,有产品的评级。我想要一个获得评级值的模板标签和用户(如果存在)。
@register.simple_tag
def puntaje_usuario(prod):
rating = Rating.objects.get(usuario=request.user.id, producto=prod.id)
return rating
我想在这里使用它:(模板评级明星)
<div class="prod-info">
<h5><a href="{{x.get_absolute_url_shop}}" class="txt-muted"> {{x.nombre}} </a></h5>
{% if puntaje_usuario x %}
<!-- SAME SELECT THAT "else" WITH RATING VALUE OPTION SELECTED -->
{% else %}
<div class="stars stars-example-css m-b-10">
<select class="rating-star puntaje-producto" data-url="{% url 'puntuar_producto' %}" data-producto="{{x.id}}" data-usuario="{{request.user.id}}" name="rating" autocomplete="off">
<option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
<option value="4">4</option>
<option value="5">5</option>
</select>
</div>
<h6 class="txt-info">{% rating_promedio x.id %}</h6>
{% endif %}
我得到的错误是未使用&#39;&#39; x&#39;&#39;在表达结束时。
答案 0 :(得分:1)
您不能直接在if中使用标记。您需要先将其分配给变量:
{% puntaje_usuario x as my_val %}
{% if my_val %}
...