超出了python瓶框架最大递归深度

2024-06-08 12:18:59 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在尝试为我的web应用程序添加路径,但由于某些原因,出现了最大递归深度错误

def runSQL(sql):
    db = sqlite3.connect('zadanie.db')
    c = db.cursor()
    c.execute(sql)
    data = c.fetchall()
    db.commit()
    c.close()
    return data  

def Subjects(): 
    sql = "SELECT (here is my query)" 
    data = runSQL(sql) 
    return data

@app.route('/subjects')
def Subjects():
    sub = template('look4.html', rows=Subjects())              
    return sub

我曾尝试将递归限制设置为更高的数字,但随后出现错误分段错误11。
如有任何调试建议,我将不胜感激:)


Tags: 路径web应用程序dbsqldatareturndef
1条回答
网友
1楼 · 发布于 2024-06-08 12:18:59

问题不在于递归深度。如您所见,您定义了两个名为Subject的函数。在

因此,Python将用第二个覆盖第一个。现在第二个调用了前一个。但由于Subjects被重写,它将再次重定向到该函数,因此:

@app.route('/subjects')
def Subjects():
    sub = template('look4.html', rows=Subjects())
    return sub

会陷入无限递归。解决方案是简单地重命名其中一个(可能最好重命名第一个),然后更改调用,例如:

^{pr2}$

另外,Python中的函数都是带下划线的小写函数,因此最好将第二个函数重命名为subjects(就像我在这里所做的那样)。在

相关问题 更多 >