シンプルにしようとします!:)
djangoアプリ内でページネーションを設定しました。ページネーションで設定したページをループするように管理しています。12ページあり、1ページあたり10件のニュース投稿があります。[次へ]をクリックすると、表示したいページ番号がすべて正常に機能します。
ただし、バックエンドからの投稿内のデータが表示されておらず、理由がわかりません。テンプレートからモデルに正しくアクセスしていないためだと思います。とにかくここに私のコード:
Views.py:
def press_list(request, template_name='pressbox/object_list.html', extra_context={}):
category = PressCategory.objects.get()
news_items = PressItem.objects.filter(is_active=True)
paginator = Paginator(news_items, 10)
page = request.GET.get('page', 1)
this_page = paginator.page(page)
page = int(page)
try:
this_page = paginator.page(page)
except(EmptyPage, InvalidPage):
raise Http404
extra_context = {
'category': category,
'paginator': this_page.object_list,
'paginator': paginator,
"current_page_pag": page,
'this_page': this_page,
}
return render_to_response(template_name, extra_context, RequestContext(request))
Pagination_template:
<div class="pag_wrap">
<ul class='news_paginator'>
<li class='prev'>{% if this_page.has_previous %}<a href='{{current_url}}?page={{this_page.previous_page_number}}'><</a>{% else %}<span><</span>{%endif%}</li>
{% for page in paginator.page_range %}
<li class='{% if forloop.last %}last {%endif%}{%ifequal current_page_pag page %}active {%endifequal%}'><a href='{{current_url}}?page={{page}}'>{{page}}</a></li>
{% endfor %}
<li class='next'>{% if this_page.has_next %}<a href='{{current_url}}?page={{this_page.next_page_number}}'>></a>{% else %}<span>></span>{%endif%}</li>
</ul>
</div>
ニュース投稿の内容:
<ul class="article-list">
{% for object in paginator.page_range %}
<li class="{{ object.category.slug }}">
<a href="{{ object.get_absolute_url }}">
<img class="news_thumbnail" src="/media/{{object.thumbnail}}" alt="thumbnail" />
<strong class="article-title">{{ object.title }}</strong>
<span class="article-date">{{ object.published_on|date:"M d, Y" }}</span>
{{ object.short_description }}
{% comment %} <span class="article-category">{{ object.category.slug }}</span> {% endcomment %}
</a>
</li>
{% endfor %}
</ul>
現在、コンテンツではなく投稿の数をループしているので、それを実行しているのは-{%for object in paginator.page_range%}行だと確信しています。データへのアクセス方法がわかりません。
どんな助けでも大歓迎です。PythonとDjangoはかなり新しく、これまでに行ったことにかなり感銘を受けました。:)