django - Django - 如何在详细视图中添加分页
问题描述
我是一名学生,也是 django 的新手。如何在详细类视图中添加分页?
这是我的意见.py
class AuthorDetailView(NeverCacheMixin, generic.DetailView):
model = Author
paginate_by = 1
和我使用的分页代码,它不起作用。
{% if is_paginated %}
{% if page_obj.has_previous %}
<a class="btn btn-outline-dark mb-4" href="?page={{ page_obj.previous_page_number }}">Previous</a>
{% endif %}
{% for num in page_obj.paginator.page_range %}
{% if page_obj.number == num %}
<a class="btn btn-dark mb-4" href="?page={{ num }}">{{ num }}</a>
{% elif num > page_obj.number|add:'-3' and num < page_obj.number|add:'3' %}
<a class="btn btn-outline-dark mb-4" href="?page={{ num }}">{{ num }}</a>
{% endif %}
{% endfor %}
{% if page_obj.has_next %}
<a class="btn btn-outline-dark mb-4" href="?page={{ page_obj.next_page_number }}">Next</a>
{% endif %}
{% endif %}
解决方案
您应该继承 ListView 而不是 DetailView,并重写 get_queryset 以从合作伙伴那里获取讲座。如果需要,您也可以在 get_context_data 中添加 Partner 对象。
推荐阅读
- apache-flink - flink ClassNotFoundException ProcessFunction
- ios - 如何删除 iOS 上的 Tab 顶部标题?
- php - 如何使用 php 5.5 运行 Laravel php 7.2
- python - 将文件夹名称写入文本文件python时出错
- python - 有没有办法扩大python中的GUI框?
- python-3.x - 将代码的输出写入 CSV 文件
- javascript - jquery自动完成复杂的html结果
- c - 我不知道如何通过进程名称获取进程的 pid
- arrays - 如何在 Bash 中写入数组
- c++ - 通过按下键盘特殊键获取键码(例如 Razer Blackwidow Chroma 上的宏键)