You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Implements responsive pagination for mobile devices. Uses horizontal scrolling with custom scrollbar styling for page numbers and hides desktop pagination on screens narrower than 769px.
<aclass="page-link" href="?page={{ page_obj.previous_page_number }}{% for key, value in request.GET.items %}{% if key != 'page' %}&{{ key }}={{ value|urlencode }}{% endif %}{% endfor %}">
160
+
<iclass="bi bi-chevron-left"></i> Previous
161
+
</a>
162
+
</li>
163
+
{% endif %}
164
+
165
+
{% for num in page_obj.paginator.page_range %}
166
+
{% if page_obj.number == num %}
167
+
<liclass="page-item active">
168
+
<spanclass="page-link">{{ num }}</span>
169
+
</li>
170
+
{% elif num == 1 %}
171
+
<liclass="page-item">
172
+
<aclass="page-link" href="?page={{ num }}{% for key, value in request.GET.items %}{% if key != 'page' %}&{{ key }}={{ value|urlencode }}{% endif %}{% endfor %}">{{ num }}</a>
173
+
</li>
174
+
{% elif num == page_obj.number|add:1 %}
175
+
<liclass="page-item">
176
+
<aclass="page-link" href="?page={{ num }}{% for key, value in request.GET.items %}{% if key != 'page' %}&{{ key }}={{ value|urlencode }}{% endif %}{% endfor %}">{{ num }}</a>
177
+
</li>
178
+
{% elif num == page_obj.number|add:2 %}
179
+
<liclass="page-item">
180
+
<aclass="page-link" href="?page={{ num }}{% for key, value in request.GET.items %}{% if key != 'page' %}&{{ key }}={{ value|urlencode }}{% endif %}{% endfor %}">{{ num }}</a>
181
+
</li>
182
+
{% elif num == page_obj.number|add:3 %}
183
+
<liclass="page-item">
184
+
<aclass="page-link" href="?page={{ num }}{% for key, value in request.GET.items %}{% if key != 'page' %}&{{ key }}={{ value|urlencode }}{% endif %}{% endfor %}">{{ num }}</a>
185
+
</li>
186
+
{% elif num == page_obj.number|add:4 %}
187
+
<liclass="page-item">
188
+
<aclass="page-link" href="?page={{ num }}{% for key, value in request.GET.items %}{% if key != 'page' %}&{{ key }}={{ value|urlencode }}{% endif %}{% endfor %}">{{ num }}</a>
189
+
</li>
190
+
{% elif num == page_obj.number|add:5 %}
191
+
<liclass="page-item">
192
+
<aclass="page-link" href="?page={{ num }}{% for key, value in request.GET.items %}{% if key != 'page' %}&{{ key }}={{ value|urlencode }}{% endif %}{% endfor %}">{{ num }}</a>
193
+
</li>
194
+
{% elif num == page_obj.number|add:6 %}
195
+
<liclass="page-item">
196
+
<aclass="page-link" href="?page={{ num }}{% for key, value in request.GET.items %}{% if key != 'page' %}&{{ key }}={{ value|urlencode }}{% endif %}{% endfor %}">{{ num }}</a>
197
+
</li>
198
+
{% elif num == page_obj.number|add:7 %}
199
+
<liclass="page-item">
200
+
<aclass="page-link" href="?page={{ num }}{% for key, value in request.GET.items %}{% if key != 'page' %}&{{ key }}={{ value|urlencode }}{% endif %}{% endfor %}">{{ num }}</a>
201
+
</li>
202
+
{% elif num == page_obj.number|add:8 %}
203
+
<liclass="page-item">
204
+
<aclass="page-link" href="?page={{ num }}{% for key, value in request.GET.items %}{% if key != 'page' %}&{{ key }}={{ value|urlencode }}{% endif %}{% endfor %}">{{ num }}</a>
205
+
</li>
206
+
{% elif num == page_obj.number|add:9 %}
207
+
<liclass="page-item">
208
+
<aclass="page-link" href="?page={{ num }}{% for key, value in request.GET.items %}{% if key != 'page' %}&{{ key }}={{ value|urlencode }}{% endif %}{% endfor %}">{{ num }}</a>
209
+
</li>
210
+
{% elif num == page_obj.number|add:10 %}
211
+
<liclass="page-item">
212
+
<aclass="page-link" href="?page={{ num }}{% for key, value in request.GET.items %}{% if key != 'page' %}&{{ key }}={{ value|urlencode }}{% endif %}{% endfor %}">{{ num }}</a>
213
+
</li>
214
+
{% endif %}
215
+
{% endfor %}
216
+
217
+
{% if page_obj.has_next %}
218
+
<liclass="page-item">
219
+
<aclass="page-link" href="?page={{ page_obj.next_page_number }}{% for key, value in request.GET.items %}{% if key != 'page' %}&{{ key }}={{ value|urlencode }}{% endif %}{% endfor %}">
220
+
Next <iclass="bi bi-chevron-right"></i>
221
+
</a>
222
+
</li>
223
+
{% endif %}
224
+
</ul>
225
+
</div>
226
+
227
+
<!-- Mobile Pagination -->
228
+
<divclass="pagination-container">
155
229
{% if page_obj.has_previous %}
156
-
<liclass="page-item">
157
-
<aclass="page-link" href="?page={{ page_obj.previous_page_number }}{% for key, value in request.GET.items %}{% if key != 'page' %}&{{ key }}={{ value|urlencode }}{% endif %}{% endfor %}">
158
-
<iclass="bi bi-chevron-left"></i> Previous
159
-
</a>
160
-
</li>
230
+
<aclass="pagination-btn mobile-only" href="?page={{ page_obj.previous_page_number }}{% for key, value in request.GET.items %}{% if key != 'page' %}&{{ key }}={{ value|urlencode }}{% endif %}{% endfor %}">
231
+
<iclass="bi bi-chevron-left"></i>
232
+
</a>
161
233
{% endif %}
162
234
163
-
{% for num in page_obj.paginator.page_range %}
164
-
{% if page_obj.number == num %}
165
-
<liclass="page-item active" aria-current="page">
166
-
<spanclass="page-link">{{ num }}</span>
167
-
</li>
168
-
{% else %}
169
-
<liclass="page-item">
170
-
<aclass="page-link" href="?page={{ num }}{% for key, value in request.GET.items %}{% if key != 'page' %}&{{ key }}={{ value|urlencode }}{% endif %}{% endfor %}">{{ num }}</a>
171
-
</li>
172
-
{% endif %}
173
-
{% endfor %}
235
+
<divclass="pagination-numbers">
236
+
{% for num in page_obj.paginator.page_range %}
237
+
{% if page_obj.number == num %}
238
+
<spanclass="pagination-number active">{{ num }}</span>
239
+
{% else %}
240
+
<aclass="pagination-number" href="?page={{ num }}{% for key, value in request.GET.items %}{% if key != 'page' %}&{{ key }}={{ value|urlencode }}{% endif %}{% endfor %}">{{ num }}</a>
241
+
{% endif %}
242
+
{% endfor %}
243
+
</div>
174
244
175
245
{% if page_obj.has_next %}
176
-
<liclass="page-item">
177
-
<aclass="page-link" href="?page={{ page_obj.next_page_number }}{% for key, value in request.GET.items %}{% if key != 'page' %}&{{ key }}={{ value|urlencode }}{% endif %}{% endfor %}">
178
-
Next <iclass="bi bi-chevron-right"></i>
179
-
</a>
180
-
</li>
246
+
<aclass="pagination-btn mobile-only" href="?page={{ page_obj.next_page_number }}{% for key, value in request.GET.items %}{% if key != 'page' %}&{{ key }}={{ value|urlencode }}{% endif %}{% endfor %}">
0 commit comments