0

我正在使用 dcramer 的djangoratings尝试实施评级系统,但在使用他提到的一些模板标签时遇到问题。

我的模型是:

class Thing(models.Model):
    rating = RatingField(range=3)

我正在尝试使用包中包含的模板标签来获得用户的投票,如下所述:

rating_by_request

检索用户对特定对象的投票并将其存储在上下文变量中。如果用户没有投票,上下文变量将为 0:

{% rating_by_request 对 instance.field 的请求作为投票 %}

rating_by_user

检索用户对特定对象的投票并将其存储在上下文变量中。如果用户没有投票,上下文变量将为 0:

{% rating_by_user user on instance.field as vote %}

但可能使用不当,

{% rating_by_user user on Thing.rating as vote %}
{{ vote }}
{% rating_by_request request on Thing.rating as rate %}
{{ rate }}

.. 因为{{ vote }}并且{{ rate }}不返回任何值。如何使用这些标签来获取所描述的对象?谢谢!

4

2 回答 2

1

您是在视图上下文thing还是Thing变量中设置?如果在视野中'thing': Thing.objects.get(...)

{% rating_by_user user on thing.rating as vote %}
{{ vote }}
{% rating_by_request request on thing.rating as rate %}
{{ rate }}
于 2013-01-15T20:02:42.763 回答
-1

{{}} 此标签用于显示信息。如果您想从用户那里获取信息,您应该尝试类似 .html 文件中的内容

<form action="address of your view" method="get">
{%csrf_token%}
<input type="text" name="vote"/ >
<input type="submit" value="ok">
</form>

在你看来

vote_val=request.GET.get('vote','default_value')

现在投票存储在 vote_val

于 2013-01-15T19:41:40.873 回答