我正在使用 Flask Python 開發(fā)一個(gè) Web 應(yīng)用程序。在我的應(yīng)用程序中,有一個(gè)報(bào)告頁(yè)面,顯示帶有 Flask 分頁(yè)的結(jié)果表。在表格底部,我添加了一個(gè)名為“number_result_per_page”的“選擇選項(xiàng)”字段,讓用戶選擇“per_page”參數(shù)(每頁(yè)的項(xiàng)目數(shù))。我制作了一個(gè) JavaScript,它使用根據(jù)用戶的選擇更新的“per_page”參數(shù)來(lái)重新加載頁(yè)面。問題 :我的問題是,如果用戶幾乎在最后一頁(yè),并且他決定每頁(yè)顯示“100”個(gè)結(jié)果,并且要顯示的結(jié)果少于 100 個(gè),我會(huì)收到 404 錯(cuò)誤。我確信我不是唯一遇到此類問題的人。有什么解決方案可以避免這種情況嗎?或者我可以捕獲這個(gè)特定的錯(cuò)誤 404 以顯示“錯(cuò)誤”彈出窗口并重新加載正確的上一頁(yè)嗎?這是我的代碼示例:# Route@app.route('/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>
當(dāng)總項(xiàng)目數(shù)低于“per_page”燒瓶分頁(yè)時(shí)如何處理錯(cuò)誤 404?
阿晨1998
2023-08-24 10:41:51