python版本:2.5
mysql版本:Mysql server 5.5
python与mysql连接需要一个适配器:MySQL-python-1.2.2.win32-py2.5,即Mysqldb,为python操作Mysql的接口。
一:下载Mysqldb,安装,它会自动搜索适合的python版本,安装完毕,在python IDE中输入:import MySQLdb,无错误则成功安装。
二:在新建的django项目目录下,设置settings.py文件:
DATABASE_ENGINE = 'mysql' # 'postgresql_psycopg2', 'postgresql', 'mysql', 'sqlite3' or 'ado_mssql'.这里对应于你所使用的数据库
DATABASE_NAME = 'test1' # 数据库的名字.
DATABASE_USER = 'user' # 用户名.
DATABASE_PASSWORD = '****' # 密码.
DATABASE_HOST = '/tmp/mysql.sock' # 如果是localhost的话,留空。
DATABASE_PORT = '3306'
若所选的数据库已经在Mysql的文件存放的地方,可直接输入数据库的名字,若不是,则须详细的路径。
三:切换到django的项目目录下,输入:python manage.py shell
from django.db import connection
cur=connection.cursor()
显示无错误,则代表可成功连接数据库,可以操作。出现错误,则须按照错误来修改。
the django book 上列明常见的错误有:
You havent set the DATABASE_ENGINE setting yet.
设置正确的 DATABASE_ENGINE 配置
Environment variable DJANGO_SETTINGS_MODULE is undefined.
运行命令行 python manage.py shell 而不是 python .
Error loading _____ module: No module named _____.
你没有安装相关的数据库适配器 (例如, psycopg 或 MySQLdb ).
_____ isnt an available database backend.
设置正确的 DATABASE_ENGINE 配置 也许是拼写错误?
database _____ does not exist
设置 DATABASE_NAME 配置到一个已有的数据库, 或者使用 CREATE DATABASE 语句创建数据库。
role _____ does not exist
修改 DATABASE_USER 配置到一个有效用户
could not connect to server
确认 DATABASE_HOST 和 DATABASE_PORT 设置是正确的,并 确认服务器是在运行的。