wtf example python flask flask-login

python - example - Vista de matraz aumenta TypeError: el objeto ''bool'' no se puede llamar



login flask (1)

En Flask, una vista debe devolver uno de los siguientes:

  • una cuerda
  • un objeto de Response (o subclase)
  • una tupla de (string, status, headers) o (string, status)
  • una aplicación WSGI válida

Flask prueba las primeras 3 opciones, y si no encajan, asume que es la cuarta. Has devuelto True en algún lugar, y en su lugar se trata como una aplicación WSGI.

Consulte Acerca de las respuestas en la documentación.

Estoy intentando depurar una vista en mi aplicación Flask que devuelve un estado 500 con el error TypeError: ''bool'' object is not callable en la trazabilidad. La vista llama a login_user desde Flask-Login y luego devuelve True para indicar que el inicio de sesión fue exitoso.

He depurado hasta app_iter = app(environ, start_response) y ahora la app es booleana con el valor True lugar del objeto de la aplicación Flask.

Traceback (most recent call last): File "D:/Python27/lib/site-packages/flask/app.py", line 1836, in __call__ return self.wsgi_app(environ, start_response) File "D:/Python27/lib/site-packages/flask/app.py", line 1820, in wsgi_app response = self.make_response(self.handle_exception(e)) File "D:/Python27/lib/site-packages/flask/app.py", line 1403, in handle_exception reraise(exc_type, exc_value, tb) File "D:/Python27/lib/site-packages/flask/app.py", line 1817, in wsgi_app response = self.full_dispatch_request() File "D:/Python27/lib/site-packages/flask/app.py", line 1478, in full_dispatch_request response = self.make_response(rv) File "D:/Python27/lib/site-packages/flask/app.py", line 1577, in make_response rv = self.response_class.force_type(rv, request.environ) File "D:/Python27/lib/site-packages/werkzeug/wrappers.py", line 824, in force_type response = BaseResponse(*_run_wsgi_app(response, environ)) File "D:/Python27/lib/site-packages/werkzeug/wrappers.py", line 57, in _run_wsgi_app return _run_wsgi_app(*args) File "D:/Python27/lib/site-packages/werkzeug/test.py", line 854, in run_wsgi_app app_iter = app(environ, start_response) TypeError: ''bool'' object is not callable

@app.route(''/login'', methods=[''POST'']) def login(): username = request.form[''username''] user = User.query.filter_by(username=username).first() if user: login_user(user) return True return False