您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

设置Django以使用MySQL

设置Django以使用MySQL

MysqL支持很容易添加。在你的DATABASES字典中,你将有一个像这样的条目:

DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.MysqL', 
        'NAME': 'DB_NAME',
        'USER': 'DB_USER',
        'PASSWORD': 'DB_PASSWORD',
        'HOST': 'localhost',   # Or an IP Address that your DB is hosted on
        'PORT': '3306',
    }
}
@H_301_4@

从Django 1.7开始,你还可以选择使用MysqL 选项文件。你可以这样设置DATABASES数组来完成此操作:

DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.MysqL',
        'OPTIONS': {
            'read_default_file': '/path/to/my.cnf',
        },
    }
}
@H_301_4@

你还需要/path/to/my.cnf使用上面的类似设置来创建文件

[client]
database = DB_NAME
host = localhost
user = DB_USER
password = DB_PASSWORD
default-character-set = utf8
@H_301_4@

使用Django 1.7中的这种新连接方法,了解已建立的顺序连接很重要:

1. OPTIONS.
2. NAME, USER, PASSWORD, HOST, PORT
3. MysqL option files.
@H_301_4@

换句话说,如果你在OPTIONS中设置数据库名称,它将优先于NAME,而NAME将覆盖MysqL选项文件中的所有内容

如果你只是在本地计算机上测试应用程序,则可以使用

python manage.py runserver
@H_301_4@

添加ip:port参数允许你自己的机器以外的其他机器访问你的开发应用程序。准备好部署应用程序后,建议你阅读djangobook上有关部署Django的章节

MysqL认字符集通常不是utf-8,因此请确保使用以下sql创建数据库

CREATE DATABASE mydatabase CHARACTER SET utf8 COLLATE utf8_bin
@H_301_4@

如果你正在使用Oracle的MysqL的连接器的ENGINE线应该是这样的:

'ENGINE': 'MysqL.connector.django',
@H_301_4@

请注意,你首先需要在操作系统上安装MysqL

brew install MysqL (MacOS)
@H_301_4@

此外,MysqL客户端软件包已针对python 3进行了更改(MysqL-Client仅适用于python 2)

pip3 install MysqLclient
@H_301_4@
MySQL 2022/1/1 18:20:44 有465人围观

撰写回答


你尚未登录,登录后可以

和开发者交流问题的细节

关注并接收问题和回答的更新提醒

参与内容的编辑和改进,让解决方法与时俱进

请先登录

推荐问题


联系我
置顶