小编Eva*_*son的帖子

尝试在 Python (flask) 中过滤列表并分配给会话变量... TypeError

TypeError: Object of type 'filter' is not JSON serializable
Run Code Online (Sandbox Code Playgroud)

这真的让我很困惑。(我的 'realfiles' 函数只是确保目录列表不包含任何 Thumbs.db 或 .DS_Store 文件,即使我将其减少到“返回 True”,我也会得到同样的错误。)

我不是要序列化过滤器,无论这意味着什么。我正在序列化该过滤器的输出列表。对?Python 不是我最好的语言,所以我最初认为我的错误是试图将过滤器的输出分配给同一行中的会话变量 - 在 Javascript 中可以正常工作的东西 -

session['dir_listed_projects'] = filter( realfiles , pList )
session['dir_listed_templates'] = filter( realfiles , tList )
Run Code Online (Sandbox Code Playgroud)

所以我重写了它以分配给一个中间变量:

@app.route('/projects', methods=['GET', 'POST'])
def projects():
    listA = listdir( outta( here, 2 ) + '/Projects')
    listB = listdir( outta( here, 2 ) + '/_Templates')
    pList = filter( realfiles , listA )
    tList = filter( realfiles , listB )
    session['dir_listed_projects'] = pList
    session['dir_listed_templates'] …
Run Code Online (Sandbox Code Playgroud)

python session-variables filter flask

1
推荐指数
1
解决办法
2690
查看次数

标签 统计

filter ×1

flask ×1

python ×1

session-variables ×1