Heim  >  Fragen und Antworten  >  Hauptteil

python - Was soll ich tun, wenn ich die Ansichtsfunktion in der Jinja2-Vorlage im Flask-Framework aufrufe, aber keine Umleitung möchte?


Ich möchte die Ansichtsfunktion löschen aufrufen, aber nicht zur Löschseite weiterleiten. Ist das möglich?

ringa_leeringa_lee2711 Tage vor659

Antworte allen(2)Ich werde antworten

  • ringa_lee

    ringa_lee2017-05-18 10:59:04

    按照我的理解我觉得你是想删除的时候不刷新页面,如果是这样那就要用一下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部分做处理

    这样可以实现不刷新页面删除指定的用户

    Antwort
    0
  • 某草草

    某草草2017-05-18 10:59:04

    如果不想跳转,可以考虑使用 AJAX 方式访问删除动作的 URL,删除完成之后,再刷新当前页面。


    你使用的跳转的方式,一般删除完了之后要跳回到当前页面,以便显示最新的结果

    Antwort
    0
  • StornierenAntwort