检查当前用户是否投票

2024-05-18 11:16:08 发布

您现在位置:Python中文网/ 问答频道 /正文

在我的索引页面上,我需要知道当前用户是否对一本书投票,这样我就可以在当前用户已经投票的<li>元素上设置一个类。在

模板(片段)

{% if top_books %}
<ul>
    {% for book in top_books %}
        <li id="{{ book.id }}" class="book">
                <img class="upvote {% ifequal thisUserUpVote 1 %}selected{% endifequal %}" title="Upvote book (click to undo)" src="{{ STATIC_URL }}images/upvote.png" />
                {{ book.score|floatformat }}
                <img class="downvote {% ifequal thisUserDownVote 1 %}selected{% endifequal %}" title="Downvote book (click to undo)" src="{{ STATIC_URL }}images/downvote.png" />
            <a href="/p/{{ book.id }}/">{{ book.title }}</a>
        </li>
    {% endfor %}
</ul>

视图.py(片段)

^{pr2}$

模型.py(片段)

class Book(models.Model):
    title = models.CharField(max_length=500)
    pub_date = models.DateField()
    author = models.ManyToManyField(Author)
    userUpVotes = models.ManyToManyField(User, blank=True)
    userDownVotes = models.ManyToManyField(User, blank=True)

Tags: 用户idimgtitlemodelstopli投票
1条回答
网友
1楼 · 发布于 2024-05-18 11:16:08

首先,您的代码不能正确呈现,因为您正在向模板传递视图中不存在的变量-我希望这只是一个错误。在

def index(request):
    latest_book = Book.objects.all().order_by('-pub_date')[:5]
    top_items = Book.objects.all().order_by('-score')[:100]
    return render_to_response('books/index.html', {
                            'latest_books': latest_books, # latest_book
                            'top_books' : top_books}, # top_items
                            context_instance=RequestContext(request))

对于您的问题-您需要在模板的循环中检查用户是userUpVotes还是userDownVotes,在模板的循环中:

^{pr2}$

相关问题 更多 >