list.html 5.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140
  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. <div class="col-12">
  49. {% if article.column %}
  50. <button type="button"
  51. onclick="window.open('{% url 'article:article_list' %}?search={{ search }}&tag={{ tag }}&column={{ article.column.id }}')"
  52. class="btn btn-sm mb-2
  53. {% if article.column.title == 'Django' %}
  54. btn-success
  55. {% elif article.column.title == 'Java' %}
  56. btn-danger
  57. {% elif article.column.title == 'HTML' %}
  58. btn-warning
  59. {% endif %}
  60. "
  61. >
  62. {{ article.column }}
  63. </button>
  64. {% endif %}
  65. <!--标签-->
  66. <span>
  67. {% for tag in article.tags.all %}
  68. <a href="{% url 'article:article_list' %}?tag={{ tag }}&search={{ search }}&column={{ column }}"
  69. class="badge badge-secondary">
  70. {{ tag }}
  71. </a>
  72. {% endfor %}
  73. </span>
  74. <!--标题-->
  75. <h4>
  76. <b>
  77. <a href="{% url 'article:article_detail' article.id %}" style="color: black;">
  78. {{ article.title }}
  79. </a>
  80. </b>
  81. </h4>
  82. <!--摘要-->
  83. <div>
  84. <p style="color: gray;">
  85. {{ article.body|slice:'100' }}...
  86. </p>
  87. </div>
  88. <!--注脚-->
  89. <p>
  90. <!--附加消息-->
  91. <span style="color: green;">
  92. {{ article.total_views }}浏览&nbsp;&nbsp;&nbsp;
  93. </span>
  94. <span style="color: blue;">
  95. {{ article.created|date:'Y-m-d' }}发布&nbsp;&nbsp;&nbsp;
  96. </span>
  97. <span style="color: darkred;">
  98. {{ article.updated|date:'Y-m-d' }}更新
  99. </span>
  100. </p>
  101. <hr>
  102. </div>
  103. {% endfor %}
  104. </div>
  105. <div class="pagination row">
  106. <div class="m-auto">
  107. <span class="step-links">
  108. <!--如果不是第一页,则显示上翻的按钮-->
  109. {% if articles.has_previous %}
  110. <a href="?page=1&order={{ order }}&search={{ search }}&tag={{ tag }}&column={{ column }}"
  111. class="btn btn-success">
  112. &laquo;1
  113. </a>
  114. <span>...</span>
  115. <a href="?page={{ articles.previous_page_number }}&order={{ order }}&search={{ search }}&tag={{ tag }}&column={{ column }}"
  116. class="btn btn-secondary">
  117. {{ articles.previous_page_number }}
  118. </a>
  119. {% endif %}
  120. <!--当前页面-->
  121. <span class="current btn btn-danger btn-lg">
  122. {{ articles.number }}
  123. </span>
  124. {% if articles.has_next %}
  125. <a href="?page={{ articles.next_page_number }}&order={{ order }}&search={{ search }}&tag={{ tag }}&column={{ column }}"
  126. class="btn btn-secondary">
  127. {{ articles.next_page_number }}
  128. </a>
  129. <span>...</span>
  130. <a href="?page={{ articles.paginator.num_pages }}&order={{ order }}&search={{ search }}&tag={{ tag }}&column={{ column }}"
  131. class="btn btn-success">
  132. {{ articles.paginator.num_pages }} &raquo
  133. </a>
  134. {% endif %}
  135. </span>
  136. </div>
  137. </div>
  138. </div>
  139. {% endblock content %}