每次用到都去百度找....找的還不行~~得本身改~~耗時耗力雖然不難~~~直接貼代碼記錄下方便本身用~~~~前端
定義成一個塊,直接引用到對應的位置便可。。。ajax
<div class="container"> <nav aria-label="Page navigation"> <ul class="pagination"> <!--上一頁--> <li class="{% if not page_info.page.has_previous %}disabled{% endif %}"> {% if page_info.page.has_previous %} <a href="{{ url }}?page={{ page_info.page.previous_page_number }}" aria-label="Previous"> {% endif %} <span aria-hidden="true">«</span> </a> </li> <!--頁碼--> <!--這裏展現頁碼使用傳遞過來的dis_range --> {% for num in page_info.dis_range %} <li class="{% if num == page_info.page.number %}active{% else %}{% endif %}" > <a href="{{ url }}?page={{ num }}">{{ num }}</a> </li> {% endfor %} <!--下一頁--> <li class="{% if not page_info.page.has_next %}disabled{% endif %}"> {% if page_info.page.has_next %} <a href="{{ url }}?page={{ page_info.page.next_page_number }}" aria-label="Next"> {% endif %} <span aria-hidden="true">»</span> </a> </li> </ul> </nav> </div>
直接將下面代碼複製,而後調用方法,傳入的參數必須爲可迭代對象。數組
def create_page(request, object_list, per_page=20): ''' :param request: :param obj_list: :param page_shows: 每頁顯示多少數據 :return: ''' paginator = Paginator(object_list, per_page) # 取出當前須要展現的頁碼, 默認爲1 page_num = request.GET.get('page', default='1') # 根據頁碼從分頁器中取出對應頁的數據 try: page = paginator.page(page_num) except PageNotAnInteger as e: # 不是整數返回第一頁數據 page = paginator.page('1') page_num = 1 except EmptyPage as e: # 當參數頁碼大於或小於頁碼範圍時,會觸發該異常 print('EmptyPage:{}'.format(e)) if int(page_num) > paginator.num_pages: # 大於 獲取最後一頁數據返回 page = paginator.page(paginator.num_pages) else: # 小於 獲取第一頁 page = paginator.page(1) # 這部分是爲了再有大量數據時,仍然保證所顯示的頁碼數量不超過10, page_num = int(page_num) if page_num < 6: if paginator.num_pages <= 10: dis_range = range(1, paginator.num_pages + 1) else: dis_range = range(1, 11) elif (page_num >= 6) and (page_num <= paginator.num_pages - 5): dis_range = range(page_num - 5, page_num + 5) else: dis_range = range(paginator.num_pages - 9, paginator.num_pages + 1) data = { "page": page, "paginator": paginator, "dis_range": dis_range, } return data
不常常用.....每次用就想不起來~~百度的方式也要百度幾回才能找到合適的答案ide
item_list = request.GET.getlist("item_list[]") # 爲何要加這個[]?由於我用的是ajax的請求方式,ajax會自動在後面添加一個[],form提交方式不須要。
在Pycharm中>打開Django項目>打開Terminal框>輸入下面命令,便可!ui
pip3 freeze > requirements.txt # 生成 pip3 install -r requirements.txt # 安裝命令
更新中.................url