我正在使用 Flask Python 開發一個 Web 應用程序。在我的應用程序中,有一個報告頁面,顯示帶有 Flask 分頁的結果表。在表格底部,我添加了一個名為“number_result_per_page”的“選擇選項”字段,讓用戶選擇“per_page”參數(每頁的項目數)。我制作了一個 JavaScript,它使用根據用戶的選擇更新的“per_page”參數來重新加載頁面。問題 :我的問題是,如果用戶幾乎在最后一頁,并且他決定每頁顯示“100”個結果,并且要顯示的結果少于 100 個,我會收到 404 錯誤。我確信我不是唯一遇到此類問題的人。有什么解決方案可以避免這種情況嗎?或者我可以捕獲這個特定的錯誤 404 以顯示“錯誤”彈出窗口并重新加載正確的上一頁嗎?這是我的代碼示例:# [email protected]('/task_user_report/<int:task_user_id>/view', methods=['GET', 'POST'])@login_requireddef task_user_report(task_user_id): args = request.args per_page_task_report = args.get("per_page_task_report", 1, type=int) actions = db_mysql.session.query(Action).filter_by(id_task_user=task_user_id) \ .filter(Action.id_contact==Contact.id) \ .paginate(page=page_task_report, per_page=per_page_task_report) render_template(render_html,title='Task Report',legend='Task Report',actions=actions, \ per_page_task_report=per_page_task_report)# Template<div class="row justify-content-center" style="width: 95%;"> <div class="col-7 my-auto text-right"> <div class="text-center mt-4" style="display: inline-block;"> <nav aria-label="Pagination"> <ul class="pagination justify-content-center"> {% for page_num in actions.iter_pages(left_edge=1,right_edge=1,left_current=1, right_current=2) %} {% if page_num %} {% if actions.page == page_num %} <li class="page-item active"><a class="page-link" href="{{ url_for('task_user_report',task_user_id=task_user_id,page_task_report=page_num,per_page_task_report=per_page_task_report) }}">{{ page_num }}</a> {% endif %} {% endfor %} </ul> </nav> </div> </div></div>
當總項目數低于“per_page”燒瓶分頁時如何處理錯誤 404?
阿晨1998
2023-08-24 10:41:51