【发布时间】:2020-07-17 19:59:19
【问题描述】:
我有一个页面,其中包含特定类别的项目,从最赚钱的前 x 个项目开始,然后是观看次数最多的前 x 个项目,第三部分包含该类别的所有(其他)项目。
这第三部分很长,因为它包含此特定类别的所有项目。因此,我想对它们进行分页。但是使用标准分页转到下一页会刷新页面,在页面顶部结束,需要再次向下滚动到第三部分(每次选择下一页时),这不是很用户友好。
我看到一个网站(kickstarter),他们只能对页面的一个部分进行分页,而网站的其他部分保持不变,这正是我想要的。但我是新手,我不知道该怎么做。
感谢您的任何想法和帮助!
我的 HTML 代码:
{% for project in projects|dictsortreversed:"created_date"%}
{% if project.num_days > 0 %}
<div class="row no-gutters">
<div class="offset-1 col-4 mb-5 ">
{% if project.image %}
<a href="{% url 'project_detail' project.id %}" target="_blank">
<img class="img-fluid mt-5" src="{{MEDIA_URL}}{{ project.image }}">
</a>
{% else %}
<a href="{% url 'project_detail' project.id %}" target="_blank">
<img class="img-fluid mt-5" src="{% static 'img/No-image-available.png' %}" alt="no image available">
</a>
{% endif %}
</div>
<div class="offset-1 col-6 mt-5">
<a href="{% url 'project_detail' project.id %}" target="_blank">
<h3 class="maintext">{{ project.title}}</h3>
</a>
<p class="subtext">{{ project.category }}</p>
<p>{{ project.description |truncatewords:60}}</p>
<p class="subtext mb-5">goal: ${{project.goal}}      ends in: {{ project.num_days }} days</p>
</div>
</div>
{% endif %}
{% endfor%}
我的查看代码
def get_project_category(request, project_category):
"""
Projects for a specific category
"""
projects = Project.objects.filter(
category=Category.objects.get(category=project_category).id).order_by('-created_date')
projects.category = project_category
calculations(projects)
context = {
'projects': projects,
}
return render(request, 'project_category.html', context)
【问题讨论】:
标签: django pagination