python - flask框架中在jinja2模板中調用視圖函數但是不想重定向怎么辦
問題描述
我想調用視圖函數delete,但是不想重定向到delete這個頁面可以實現嗎?
問題解答
回答1:按照我的理解我覺得你是想刪除的時候不刷新頁面,如果是這樣那就要用一下ajax了,用ajax把id傳給相關的處理視圖,然后在視圖里面獲取傳過來的id把它刪掉,代碼:
function deleteUser(userid) { var post_data = {’userid’: userid, } $.ajax({type: 'POST',url: '/deleteuser',data: JSON.stringify(post_data, null, ’t’),contentType: ’application/json;charset=UTF-8’,success: function(result) { // 傳完數據之后做某些處理 ...} });}
在flask里面的視圖:
@main.route(’/deleteuser’, methods=[’POST’])def delete_user(): if request.method == ’POST’:user_id = request.json[’userid’]user = User.query.get_or_404(user_id)db.session.delete(user)db.session.commit()return ’OK’// 這里你返回你要在頁面上更新的數據,用來在上面的ajax里面的success部分做處理
這樣可以實現不刷新頁面刪除指定的用戶
回答2:如果不想跳轉,可以考慮使用 AJAX 方式訪問刪除動作的 URL,刪除完成之后,再刷新當前頁面。
你使用的跳轉的方式,一般刪除完了之后要跳回到當前頁面,以便顯示最新的結果
相關文章:
1. dockerfile - 我用docker build的時候出現下邊問題 麻煩幫我看一下2. android-studio - Android studio導入老版本的2048項目報錯3. 為什么我ping不通我的docker容器呢???4. PHP類屬性聲明?5. php mail無法發送郵件6. PHP 怎么api獲取json數據7. PhpStorm 輸入php按tab后生成的起始結束標簽<php><php> 如何修改?8. 為什么要通過常量的方式拐彎抹角的寫呢,直接寫DSN之類的不好嗎9. 做一個抽獎系統10. 請問一下各位老鳥 我一直在學習獨孤九賤 現在是在tp5 今天發現 這個系列視頻沒有實戰
