我有模特:
class Lesson(models.Model):
title = models.CharField(max_length=200)
lessoncontent = RichTextField()
category = models.ForeignKey(CategoryLesson)
并查看:
class LessonDetailView(DetailView):
model = Lesson
paginate_by = 1
template_name = 'lessons/lesson_detail.html'
还有ListView的列表课程
我如何将我的课程分页,如 - 的<<<上一课|下一课>>> ?
答案 0 :(得分:1)
调用它的分页是你正在做的错误。对于每个位置,您希望能够根据某些条件导航到上一个和下一个位置。向Location模型添加两个方法 - 一个用于previous,一个用于next - 返回相应的条目。
请参阅Mezzanine cms中的此代码,该代码根据发布日期获得上一个和下一个 - https://github.com/stephenmcd/mezzanine/blob/master/mezzanine/core/models.py#L243
{% block blog_post_previous_next %}
<ul class="pager">
{% with blog_post.get_previous_by_publish_date as previous %}
{% if previous %}
<li class="previous">
<a href="{{ previous.get_absolute_url }}">← {{ previous }}</a>
</li>
{% endif %}
{% endwith %}
{% with blog_post.get_next_by_publish_date as next %}
{% if next %}
<li class="next">
<a href="{{ next.get_absolute_url }}">{{ next }} →</a>
</li>
{% endif %}
{% endwith %}
</ul>
{% endblock %}
答案 1 :(得分:0)
我认为最简单的方法是使用ListView而不是DetailView。