亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

當總項目數低于“per_page”燒瓶分頁時如何處理錯誤 404?

當總項目數低于“per_page”燒瓶分頁時如何處理錯誤 404?

阿晨1998 2023-08-24 10:41:51
我正在使用 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>
查看完整描述

1 回答

?
達令說

TA貢獻1821條經驗 獲得超6個贊

在你的paginate()通話中,error_out=False這樣設置,paginate(..., error_out=False)

默認為True. 但這種行為并不總是理想的。如果您使用 Flask 作為 API 后端,這有時會導致錯誤。您可以通過提供空結果集或在沒有返回結果時將頁面默認返回一頁來處理它,這取決于您。


查看完整回答
反對 回復 2023-08-24
  • 1 回答
  • 0 關注
  • 197 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號