簡體   English   中英

如何使用PDB調試Flask-restful API

[英]How to debug a flask-restful api with pdb

我想使用pdb進入一些燒瓶級代碼。 我有一個返回令牌的端點。 然后,我使用令牌訪問另一個端點,該端點返回所需的數據。 我想查看數據庫查詢的結果。 我該怎么辦?

我嘗試在類中設置一個斷點,但是當我使用請求庫發送請求時,不會觸發該斷點。

class FetchData(Resource):

    @jwt_required
    def get(self, args):

        engine = create_engine('mysql+pymysql://')
        conn = engine.connect()

        tablemeta = MetaData()
        tablemeta.reflect(bind=engine)

        keydate = tablemeta.tables['KEYDATE']
        coefficient = tablemeta.tables['COEFFICIENT']
        vessel = tablemeta.tables['VESSEL']
        update_dict = {}


        s = select([coefficient])
        s = s.where(coefficient.c.updated_date >= args["dt"])
        rp = conn.execute(s)

        result = []

        for r in rp:
            j = coefficient.join(vessel, r['idvessel'] == vessel.c.idvessel)

            import pdb
            pdb.set_trace()
            vdm_id = select([vessel.c.vessel_id]).select_from(j)
            vdm_id = conn.execute(vdm_id).scalar()

            intermediate = []
            intermediate.append({"vdm_id": vdm_id})
            intermediate.append([dict(r)])

            result.append(intermediate)

也許我應該使用另一個調試器?

您應該將pdb放在循環之前,因為如果沒有任何結果,它將永遠不會進入pdb

最近幾年,我一直在flask使用pdb ,沒有任何問題。

只需使用print(隨心所欲),這應該更快,更高效。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM