list.html 6.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153
  1. {% extends "base.html" %}
  2. {% load static %}
  3. {% block title %}
  4. 首页
  5. {% endblock title %}
  6. {% block content %}
  7. <div class="container">
  8. <hr>
  9. <nav aria-label="breadcrumb">
  10. <ol class="breadcrumb">
  11. <li class="breadcrumb-item">
  12. <a href="{% url 'article:article_list' %}?search={{ search }}&tag={{ tag }}&column={{ column }}">
  13. 最新
  14. </a>
  15. </li>
  16. <li class="breadcrumb-item">
  17. <a href="{% url 'article:article_list' %}?order=total_views&search={{ search }}&tag={{ tag }}&column={{ column }}">
  18. 最热
  19. </a>
  20. </li>
  21. </ol>
  22. </nav>
  23. <div class="row">
  24. <div class="col-auto mr-auto">
  25. <form class="form-inline">
  26. <label class="sr-only">
  27. content
  28. </label>
  29. <input type="text" class="form-control mb-2 mr-sm-2" name="search" placeholder="搜索文章..." required>
  30. </form>
  31. </div>
  32. </div>
  33. {% if search %}
  34. {% if articles %}
  35. <h4>
  36. <span style="color: red">"{{ search }}"</span>的搜索结果如下:
  37. </h4>
  38. <hr>
  39. {% else %}
  40. <h4>
  41. 暂无
  42. <span style="color: red">"{{ search }}"</span>有关的文章。
  43. </h4>
  44. {% endif %}
  45. {% endif %}
  46. <div class="row mt-2">
  47. {% for article in articles %}
  48. <!--标题图-->
  49. {% if article.avatar %}
  50. <div class="col-3">
  51. <img src="{{ article.avatar.url }}"
  52. alt="avatar"
  53. style="max-width: 100%; border-radius: 20px;"
  54. >
  55. </div>
  56. {% endif %}
  57. <div class="col">
  58. {% if article.column %}
  59. <button type="button"
  60. onclick="window.open('{% url 'article:article_list' %}?search={{ search }}&tag={{ tag }}&column={{ article.column.id }}')"
  61. class="btn btn-sm mb-2
  62. {% if article.column.title == 'Django' %}
  63. btn-success
  64. {% elif article.column.title == 'Java' %}
  65. btn-danger
  66. {% elif article.column.title == 'HTML' %}
  67. btn-warning
  68. {% endif %}
  69. "
  70. >
  71. {{ article.column }}
  72. </button>
  73. {% endif %}
  74. <!--标签-->
  75. <span>
  76. {% for tag in article.tags.all %}
  77. <a href="{% url 'article:article_list' %}?tag={{ tag }}&search={{ search }}&column={{ column }}"
  78. class="badge badge-secondary">
  79. {{ tag }}
  80. </a>
  81. {% endfor %}
  82. </span>
  83. <!--标题-->
  84. <h4>
  85. <b>
  86. <a href="{% url 'article:article_detail' article.id %}" style="color: black;">
  87. {{ article.title }}
  88. </a>
  89. </b>
  90. </h4>
  91. <!--摘要-->
  92. <div>
  93. <p style="color: gray;">
  94. {{ article.body|slice:'100' }}...
  95. </p>
  96. </div>
  97. <!--注脚-->
  98. <p>
  99. <!--附加消息-->
  100. <span style="color: green;">
  101. <i class="fas fa-eye" style="color: lightskyblue;"></i>
  102. {{ article.total_views }}浏览&nbsp;&nbsp;&nbsp;
  103. </span>
  104. <span style="color: blue;">
  105. <i class="fas fa-comments" style="color: yellowgreen;"></i>
  106. {{ article.created|date:'Y-m-d' }}发布&nbsp;&nbsp;&nbsp;
  107. </span>
  108. <span style="color: darkred;">
  109. <i class="fas fa-clock" style="color: pink;"></i>
  110. {{ article.updated|date:'Y-m-d' }}更新
  111. </span>
  112. </p>
  113. <hr>
  114. </div>
  115. <hr style="width:100%;"/>
  116. {% endfor %}
  117. </div>
  118. <div class="pagination row">
  119. <div class="m-auto">
  120. <span class="step-links">
  121. <!--如果不是第一页,则显示上翻的按钮-->
  122. {% if articles.has_previous %}
  123. <a href="?page=1&order={{ order }}&search={{ search }}&tag={{ tag }}&column={{ column }}"
  124. class="btn btn-success">
  125. &laquo;1
  126. </a>
  127. <span>...</span>
  128. <a href="?page={{ articles.previous_page_number }}&order={{ order }}&search={{ search }}&tag={{ tag }}&column={{ column }}"
  129. class="btn btn-secondary">
  130. {{ articles.previous_page_number }}
  131. </a>
  132. {% endif %}
  133. <!--当前页面-->
  134. <span class="current btn btn-danger btn-lg">
  135. {{ articles.number }}
  136. </span>
  137. {% if articles.has_next %}
  138. <a href="?page={{ articles.next_page_number }}&order={{ order }}&search={{ search }}&tag={{ tag }}&column={{ column }}"
  139. class="btn btn-secondary">
  140. {{ articles.next_page_number }}
  141. </a>
  142. <span>...</span>
  143. <a href="?page={{ articles.paginator.num_pages }}&order={{ order }}&search={{ search }}&tag={{ tag }}&column={{ column }}"
  144. class="btn btn-success">
  145. {{ articles.paginator.num_pages }} &raquo
  146. </a>
  147. {% endif %}
  148. </span>
  149. </div>
  150. </div>
  151. </div>
  152. {% endblock content %}