首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >KeyError:在烧瓶应用程序中使用flask_mysqldb时的“MYSQL_UNIX_SOCKET”错误

问KeyError:在烧瓶应用程序中使用flask_mysqldb时的“MYSQL_UNIX_SOCKET”错误
EN

Stack Overflow用户
提问于 2021-07-08 00:05:55
回答 1查看 223关注 0票数 0

编辑1我在数字海洋上创建了一个托管的mysql实例,我得到了一个新的错误。

我得到以下TypeError: an integer is required (got type str)

我使用的是一个烧瓶应用程序,并且在使用flask_mysqldb时出错。

这是我收到的错误

代码语言:javascript
复制
KeyError: 'MYSQL_UNIX_SOCKET'

我的目录结构是

  • main.py
  • auth.py
  • website
    • templates
    • static
    • __init__.py

在我的init.py中,我有以下内容

代码语言:javascript
复制
from flask import Flask
from flask_mysqldb import MySQL

def create_app():
    app = Flask(__name__)
    app.config['MYSQL_USER'] = 'flask'
    app.config['MYSQL_PASSWORD'] = 'mypw'
    app.config['MYSQL_HOST'] = 'localhost'
    app.config['MYSQL_DB'] = 'flask_test'
    app.config['MYSQL_CURSORCLASS'] = 'DictCursor'
    app.config['MYSQL_PORT'] = '3306'

    from views import views
    from auth import auth

    app.register_blueprint(views, url_prefix='/')
    app.register_blueprint(auth, url_prefix='/')

    return app

在我的auth.py中,如您所见,我正在尝试将结果打印到控制台。

如果我将mysql的代码移动到我的main.py中,它就能工作,并且能够打印出数据。只有当我尝试在我的auth.py中使用mysql代码时,我才会得到错误。

代码语言:javascript
复制
from flask import Blueprint, render_template, request, flash
from flask_mysqldb import MySQL
auth = Blueprint('auth', __name__)

@auth.route('/sign-up', methods=['GET', 'POST'])
def sign_up():
    mysql = MySQL()
    cur = mysql.connection.cursor()
    cur.execute('''SELECT * FROM peeps''')
    results = cur.fetchall()
    print(results)

    return render_template("sign_up.html")
EN

回答 1

Stack Overflow用户

发布于 2021-07-08 00:17:42

由于the app.config['MYSQL_HOST'] = 'localhost',您使用unix连接mysql。您可以将MYSQL_HOST更改为ip地址,以便使用TCP/IP连接mysql。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/68294153

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档