Closed
Description
While using mongoengine with a Flask project I am getting the following error:
Traceback (most recent call last):
File "manage.py", line 4, in <module>
from survaider import create_app, app
File "/home/lokesh/Desktop/Work/Survaider_Apps/new_survaider/survaider/survaider/__init__.py", line 24, in <module>
db = MongoEngine(app)
File "/home/lokesh/Desktop/Work/Survaider_Apps/new_survaider/survaider-env/lib/python3.5/site-packages/flask_mongoengine/__init__.py", line 111, in __init__
self.init_app(app, config)
File "/home/lokesh/Desktop/Work/Survaider_Apps/new_survaider/survaider-env/lib/python3.5/site-packages/flask_mongoengine/__init__.py", line 138, in init_app
connection = create_connection(config, app)
File "/home/lokesh/Desktop/Work/Survaider_Apps/new_survaider/survaider-env/lib/python3.5/site-packages/flask_mongoengine/connection.py", line 377, in create_connection
return get_connection(alias)
File "/home/lokesh/Desktop/Work/Survaider_Apps/new_survaider/survaider-env/lib/python3.5/site-packages/flask_mongoengine/connection.py", line 141, in get_connection
_connections[alias] = mongoengine.connect(db_name, **conn_settings)
File "/home/lokesh/Desktop/Work/Survaider_Apps/new_survaider/survaider-env/lib/python3.5/site-packages/mongoengine/connection.py", line 195, in connect
register_connection(alias, db, **kwargs)
File "/home/lokesh/Desktop/Work/Survaider_Apps/new_survaider/survaider-env/lib/python3.5/site-packages/mongoengine/connection.py", line 69, in register_connection
uri_dict = uri_parser.parse_uri(conn_host)
File "/home/lokesh/Desktop/Work/Survaider_Apps/new_survaider/survaider-env/lib/python3.5/site-packages/pymongo/uri_parser.py", line 284, in parse_uri
"must begin with '%s'" % (SCHEME,))
pymongo.errors.InvalidURI: Invalid URI scheme: URI must begin with 'mongodb://'
I took a look at the site-packages/mongoengine/connection.py
file and at line 60 tried to print the value of conn_host
. It printed:
http://0.0.0.0:5000
The value came from my project's config.py
file:
...
HOST = http://0.0.0.0:5000
...
MONGODB_DB = 'qwer'
MONGODB_HOST = 'localhost'
MONGODB_PORT = 27017
Even though MONGODB_HOST
is defined, it read the value from HOST
.