KeyError: 'MYSQL_HOST'

问题描述

我在向 REST API 发送 POST 请求时收到此错误。有谁知道这是什么意思?我正在使用 Flask MysqL 而不是 sql 炼金术

  • 在“C:\Users\User-PC\Desktop\Python API\models.py”中检测到更改,正在重新加载
  • 使用 stat 重新启动
  • 调试器处于活动状态!
  • 调试器 PIN:114-398-217
  • http://127.0.0.1:5000/ 上运行(按 CTRL+C 退出) {'用户名':'啊','密码':'哦'} 127.0.0.1 - - [26/Apr/2021 16:54:36] "←[35m←[1mPOST /api/auth/login HTTP/1.1←[0m" 500 - 回溯(最近一次调用):
      File "C:\Users\User-PC\AppData\Local\Programs\Python\python39\Lib\site-packages\flask\app.py",line 2464,in __call__
        return self.wsgi_app(environ,start_response)
      File "C:\Users\User-PC\AppData\Local\Programs\Python\python39\Lib\site-packages\flask\app.py",line 2450,in wsgi_app
        response = self.handle_exception(e)
      File "C:\Users\User-PC\AppData\Local\Programs\Python\python39\Lib\site-packages\flask_restful\__init__.py",line 272,in error_router
        return original_handler(e)
      File "C:\Users\User-PC\AppData\Local\Programs\Python\python39\Lib\site-packages\flask\app.py",line 1867,in handle_exception
        reraise(exc_type,exc_value,tb)
      File "C:\Users\User-PC\AppData\Local\Programs\Python\python39\Lib\site-packages\flask\_compat.py",line 38,in reraise
        raise value.with_traceback(tb)
      File "C:\Users\User-PC\AppData\Local\Programs\Python\python39\Lib\site-packages\flask\app.py",line 2447,in wsgi_app
        response = self.full_dispatch_request()
      File "C:\Users\User-PC\AppData\Local\Programs\Python\python39\Lib\site-packages\flask\app.py",line 1952,in full_dispatch_request
        rv = self.handle_user_exception(e)
      File "C:\Users\User-PC\AppData\Local\Programs\Python\python39\Lib\site-packages\flask_restful\__init__.py",line 1821,in handle_user_exception
        reraise(exc_type,line 1950,in full_dispatch_request
        rv = self.dispatch_request()
      File "C:\Users\User-PC\AppData\Local\Programs\Python\python39\Lib\site-packages\flask\app.py",line 1936,in dispatch_request
        return self.view_functions[rule.endpoint](**req.view_args)
      File "C:\Users\User-PC\AppData\Local\Programs\Python\python39\Lib\site-packages\flask_restful\__init__.py",line 468,in wrapper
        resp = resource(*args,**kwargs)
      File "C:\Users\User-PC\AppData\Local\Programs\Python\python39\Lib\site-packages\flask\views.py",line 89,in view
        return self.dispatch_request(*args,**kwargs)
      File "C:\Users\User-PC\AppData\Local\Programs\Python\python39\Lib\site-packages\flask_restful\__init__.py",line 583,in dispatch_request
        resp = meth(*args,**kwargs)
      File "C:\Users\User-PC\Desktop\Python API\resources.py",line 22,in post
        user = User.fetch_userid_from_db(post_data['username'])
      File "C:\Users\User-PC\Desktop\Python API\models.py",line 24,in fetch_userid_from_db
        cur = MysqL.connection.cursor()
      File "C:\Users\User-PC\AppData\Local\Programs\Python\python39\Lib\site-packages\flask_MysqLdb\__init__.py",line 94,in connection
        ctx.MysqL_db = self.connect
      File "C:\Users\User-PC\AppData\Local\Programs\Python\python39\Lib\site-packages\flask_MysqLdb\__init__.py",line 43,in connect
        if current_app.config['MysqL_HOST']:
    KeyError: 'MysqL_HOST'
    {'username': 'ah','password': 'oh'}
    127.0.0.1 - - [26/Apr/2021 16:55:18] "←[35m←[1mPOST /api/auth/login HTTP/1.1←[0m" 500 -
    Traceback (most recent call last):
      File "C:\Users\User-PC\AppData\Local\Programs\Python\python39\Lib\site-packages\flask\app.py",in connect
        if current_app.config['MysqL_HOST']:
    KeyError: 'MysqL_HOST'

解决方法

似乎 MYSQL_HOST 没有定义。您应该修改您的数据库配置类。 顺便说一句,请确保不要发布任何真实姓名或密码,我猜“啊”和“哦”不是真实的。