You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

在Azure Function运行Django应用时遭遇MySQL驱动问题

在Azure Function上运行Django时解决_mysql未定义的问题

这个错误确实是因为Azure Function环境中MySQL相关依赖没有正确安装导致的,以下是具体解决步骤:

  • 检查并修正依赖配置
    在项目的requirements.txt中添加正确的MySQL驱动包:
    如果是x86架构的环境,直接用mysqlclient:

    django>=4.2
    mysqlclient>=2.2.0
    

    如果是ARM架构的消费计划Linux环境(Azure Function常见架构),推荐用纯Python实现的mysql-connector-python,避免编译问题:

    django>=4.2
    mysql-connector-python>=8.2.0
    
  • 适配Django数据库配置
    如果使用mysql-connector-python,需要修改settings.py中的数据库引擎配置:

    DATABASES = {
        'default': {
            'ENGINE': 'mysql.connector.django',
            'NAME': '你的数据库名',
            'USER': '数据库用户名',
            'PASSWORD': '数据库密码',
            'HOST': '数据库服务器地址',
            'PORT': '3306',
        }
    }
    

    若用mysqlclient,则保持ENGINE为django.db.backends.mysql即可。

  • 处理Linux环境的编译依赖(仅针对mysqlclient)
    若坚持使用mysqlclient,在Linux环境部署时需要提前安装MySQL开发库。可以在项目根目录创建.python_packages/build.sh脚本,内容如下:

    apt-get update && apt-get install -y default-libmysqlclient-dev gcc
    

    部署时Azure会自动执行该脚本安装编译依赖。

  • 本地验证后重新部署
    本地先安装依赖并测试数据库连接正常:

    pip install -r requirements.txt
    python manage.py migrate
    

    确认无问题后,再部署到Azure Function:

    func azure functionapp publish <你的Function App名称>
    

内容的提问来源于stack exchange,提问作者kamprasad

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.03 04:26:00