Возможно, об этом спрашивали раньше, но я не смог исправить свою ошибку из предыдущих ответов. Я проверил файлы журнала для своего приложения и обнаружил, что ошибка «NoneType» не имеет атрибута «имя драйвера», который, кажется, указывает на неправильный URI моей базы данных. Однако я не раз проверял это. Приложение работает в экземпляре AWS Lightsail Ubuntu с базой данных MySQL. Я установил свою конфигурацию через файл .env. Вот это показано ниже (где пароль - это фактический пароль):
DATABASE_URL = mysql+pymysql://root:<password>@localhost/kickoff
Затем я читаю это через свой файл config.py, который используется для создания приложения. У меня нет проблем в этом процессе, поскольку журнал ошибок (показанный ниже) показывает, что он смог получить доступ к этой базе данных, поскольку ошибка ссылается на mysql.
2020-05-06 15:43:57,970 ERROR: Exception on /auth/login [POST] [in /home/ubuntu/kickoff/venv/lib/python3.5/site-packages/flask/app.py:1891]
Traceback (most recent call last):
File "/home/ubuntu/kickoff/venv/lib/python3.5/site-packages/sqlalchemy/util/_collections.py", line 1030, in __call__
return self.registry[key]
KeyError: 139881159075584
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/home/ubuntu/kickoff/venv/lib/python3.5/site-packages/flask/app.py", line 2446, in wsgi_app
response = self.full_dispatch_request()
File "/home/ubuntu/kickoff/venv/lib/python3.5/site-packages/flask/app.py", line 1951, in full_dispatch_request
rv = self.handle_user_exception(e)
File "/home/ubuntu/kickoff/venv/lib/python3.5/site-packages/flask/app.py", line 1820, in handle_user_exception
reraise(exc_type, exc_value, tb)
File "/home/ubuntu/kickoff/venv/lib/python3.5/site-packages/flask/_compat.py", line 39, in reraise
raise value
File "/home/ubuntu/kickoff/venv/lib/python3.5/site-packages/flask/app.py", line 1949, in full_dispatch_request
rv = self.dispatch_request()
File "/home/ubuntu/kickoff/venv/lib/python3.5/site-packages/flask/app.py", line 1935, in dispatch_request
return self.view_functions[rule.endpoint](**req.view_args)
File "/home/ubuntu/kickoff/app/auth/routes.py", line 11, in login
user = User.query.filter_by(username = form.username.data).first()
File "/home/ubuntu/kickoff/venv/lib/python3.5/site-packages/flask_sqlalchemy/__init__.py", line 519, in __get__
return type.query_class(mapper, session=self.sa.session())
File "/home/ubuntu/kickoff/venv/lib/python3.5/site-packages/sqlalchemy/orm/scoping.py", line 78, in __call__
return self.registry()
File "/home/ubuntu/kickoff/venv/lib/python3.5/site-packages/sqlalchemy/util/_collections.py", line 1032, in __call__
return self.registry.setdefault(key, self.createfunc())
File "/home/ubuntu/kickoff/venv/lib/python3.5/site-packages/sqlalchemy/orm/session.py", line 3254, in __call__
return self.class_(**local_kw)
File "/home/ubuntu/kickoff/venv/lib/python3.5/site-packages/flask_sqlalchemy/__init__.py", line 138, in __init__
bind = options.pop('bind', None) or db.engine
File "/home/ubuntu/kickoff/venv/lib/python3.5/site-packages/flask_sqlalchemy/__init__.py", line 937, in engine
return self.get_engine()
File "/home/ubuntu/kickoff/venv/lib/python3.5/site-packages/flask_sqlalchemy/__init__.py", line 956, in get_engine
return connector.get_engine()
File "/home/ubuntu/kickoff/venv/lib/python3.5/site-packages/flask_sqlalchemy/__init__.py", line 560, in get_engine
options = self.get_options(sa_url, echo)
File "/home/ubuntu/kickoff/venv/lib/python3.5/site-packages/flask_sqlalchemy/__init__.py", line 575, in get_options
self._sa.apply_driver_hacks(self._app, sa_url, options)
File "/home/ubuntu/kickoff/venv/lib/python3.5/site-packages/flask_sqlalchemy/__init__.py", line 877, in apply_driver_hacks
if sa_url.drivername.startswith('mysql'):
AttributeError: 'NoneType' object has no attribute 'drivername'
Заранее большое спасибо!