Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/swift/20.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sqlalchemy 我的登录控制器没有';不行。获取用户名时出现问题_Sqlalchemy_Pylons - Fatal编程技术网

Sqlalchemy 我的登录控制器没有';不行。获取用户名时出现问题

Sqlalchemy 我的登录控制器没有';不行。获取用户名时出现问题,sqlalchemy,pylons,Sqlalchemy,Pylons,目前我的登录控制器无法工作,因为我似乎无法获取用户名和密码 我目前使用的是这样的东西: form_username = str(request.params.get('username')) db_user = meta.Session.query(User).filter_by(username=form_username) if db_user is None: return redirect('auth/error') 无论使用哪个用户名,db_user都会返回True,因此不

目前我的登录控制器无法工作,因为我似乎无法获取用户名和密码

我目前使用的是这样的东西:

form_username = str(request.params.get('username'))

db_user = meta.Session.query(User).filter_by(username=form_username)
if db_user is None:
    return redirect('auth/error')

无论使用哪个用户名,db_user都会返回True,因此不会转到auth/error。我使用shell来处理这个问题,并且我能够与数据库建立连接,因此我不确定我在这里做错了什么。

你走对了路;你只需要更进一步

正如您在上面的评论中提到的,
filter\u by()
返回一个查询对象。
您需要指定要使用查询对象的哪个方法来实际运行查询并返回一些结果

在这种情况下,我建议使用
first()

db_user = meta.Session.query(User).filter_by(username=form_username).first()
(我强调):

返回此查询的第一个结果,如果结果不包含任何行,则返回无。这将导致执行基础查询


db_user是否为空而不是特殊值None?如何检查它是否为空?如果我在shell中键入db_user,我会得到一个“Query Object.at…”也许我应该使用其他东西而不是filter_by?