Django ブログサイト templates/index.html 初期画面

2020/07/04 (更新:2020/11/19)

初期画面です。

index.html
   (include) blog_list.html
   (include) pagination.html

index.html

{% extends 'blog/blog_base.html' %}

{% block blog_main %}
  {% include 'blog/blog_list.html' %}
  <form action="{% url 'blog:search' view.kwargs.author_name %}" method="GET">
    {% include 'blog/pagination.html' %}
  </form>
{% endblock %}

blog_list.html

{% load i18n %}
{% if posts %}
  <ul class="list-group">
    {% for post_content in posts %}
      <li class="list-group-item">
        <h3 class="list-title">
          <a href="{% url 'blog:detail' view.kwargs.author_name post_content.post.id %}">{{ post_content.title_text }}</a>
        </h3>
        <div>
          {% for bc in post_content.categories %}
            <a href="#" data-category-text="{{ bc.category.category_text }}" class="category badge badge-light"><span>{{ bc.category.category_text }}</span></a>
          {% endfor %}
        </div>
        <p class="list-summary">{{ post_content.summary_text|truncatechars:100 }}</p>
      </li>
    {% endfor %}
  </ul>
{% else %}
  <p>{% trans 'BLOG_NOTHING' %}</p>
{% endif %}

pagination.html

{% load i18n %}
{% if is_paginated %}
  <nav aria-label="Pagination" class="mt-4">
    <ul class="pagination">
      {% if page_obj.has_previous %}
        <li class="page-item">
          <a class="page-link" href="#" data-page="{{ page_obj.previous_page_number }}">{% trans 'Previous' %}</a>
        </li>
      {% else %}
        <li class="page-item disabled">
          <span class="page-link">{% trans 'Previous' %}</span>
        </li>
      {% endif %}

      {% if page_obj.has_next %}
        <li class="page-item">
          <a class="page-link" href="#" data-page="{{ page_obj.next_page_number }}">{% trans 'Next' %}</a>
        </li>
      {% else %}
        <li class="page-item disabled">
          <span class="page-link">{% trans 'Next' %}</span>
        </li>
      {% endif %}
    </ul>
  </nav>
  <input type="hidden" id="page" name="page">
{% endif %}