django 连接mysql

一:环境设置:

因为我用的python3.x  django的版本较低。连接mysql 需要 mysql-python 需要mysqldb来连接,最后安装mysqldb的时候,需要安装python2.7。 崩溃。

最后网上查只需要修改project里的__int__.py文件。添加如下既可用pymysql  坑啊。折腾一晚上。

1 import pymysql
2 pymysql.install_as_MySQLdb()

 当前需要安装pymysql模块。

然后在setting.py里设置:

 1 DATABASES = {
 2     'default': {
 3         'ENGINE': 'django.db.backends.mysql',#数据库连接引擎。
 4         'NAME': 'django',#数据库的名字。
 5         'USER': 'evil',#用户。
 6         'PASSWORD': '123',#密码
 7         'HOST': '192.168.31.222',#连接IP
 8         'PORT': '3306',#端口。
 9     }
10 }

 因为连接不同的数据库数据库的引擎是不一样的。

1 'django.db.backends.postgresql'
2 'django.db.backends.mysql'
3 'django.db.backends.sqlite3'
4 'django.db.backends.oracle'

如果使用 SQLite,请对数据库文件指定完整的文件系统路径。 例如

1 DATABASE_NAME = '/home/django/mydata.db'

 

HOST: 告诉 Django 连接哪一台主机的数据库服务器。 如果数据库与 Django 安装于同一台计算机(即本机),可将此项保留空白。 如果你使用SQLite,此项留空。
此处的 MySQL 是一个特例。 如果使用的是 MySQL 且该项设置值由斜杠(  '/' )开头,MySQL 将通过Unix socket 来连接指定的套接字,例如

1 DATABASE_HOST = '/var/run/mysql'

 

二:数据库设置:

给远程IP授权访问:

1  GRANT ALL PRIVILEGES ON *.* TO 'evil'@'192.168.1.100'WITH GRANT OPTION; 

 给用户授权并赋予密码:

Grant all on django.* to 'evil'@'192.168.31.125' identified by "123"

 

三:测试
当我们设置好前2项之后,我们需要测试我们的连接串是否有问题:

打开terminal 执行如下命令:

python manage.py shell

 

如果没报错,说明我们建立的连接是没问题的。

如上是连接非默认sqlite的数据库的方法.

 

posted @ 2016-10-05 01:03  evil_liu  阅读(702)  评论(0编辑  收藏  举报