'Can someone tell me why SqlAlchemy is showing me this error.?
Can anyone please where am i doing wrong? Can anyone please where am i doing wrong? Can anyone please where am i doing wrong? Can anyone please where am i doing wrong?
@app.route("/userLogin", methods=['POST'])
def userLogin():
userr = request.json['email']
user = db.session.query(Users).filter_by(email=userr).first()
if user:
if bcrypt.hashpw(request.json['password'].encode('utf-8'), user[4]) == user[4]:
access_token = create_access_token(identity=request.json['email'])
user['tokens'].append({'token': str(access_token)})
db.session.add(user)
db.session.commit()
return jsonify(token=str(access_token)), 201
return jsonify(message='Invalid Username/Password'), 401
Error:
File "C:\Users\PROFESSOR\Desktop\WebDev Project\Back-end\ven\lib\site-packages\flask\app.py",
line 1509, in dispatch_request
return self.ensure_sync(self.view_functions[rule.endpoint])(**req.view_args)
File "c:\Users\PROFESSOR\Desktop\WebDev Project\Back-end\Api\views.py", line 60, in userLogin
if bcrypt.hashpw(request.json['password'].encode('utf-8'), user[4]) == user[4]:
TypeError: 'Users' object is not subscriptable
Solution 1:[1]
In your code, you are treating the user object like a dictionary and trying to add or use values from it. You cant do that. You shouldnt use user[4] or any other such subscripting of user object in your code.
@app.route("/userLogin", methods=['POST'])
def userLogin():
userr = request.json['email']
user = db.session.query(Users).filter_by(email=userr).first()
if user:
if bcrypt.hashpw(request.json['password'].encode('utf-8'), user[4]) ==
user[4]:
access_token = create_access_token(identity=request.json['email'])
user['tokens'].append({'token': str(access_token)})
db.session.add(user)
db.session.commit()
return jsonify(token=str(access_token)), 201
return jsonify(message='Invalid Username/Password'), 401
Sources
This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.
Source: Stack Overflow
| Solution | Source |
|---|---|
| Solution 1 | Harris Minhas |
