django 1.11.1 连接MySQL
一、定义数据库 settings.py搜索 DATABASES
参考路径: D:\Python27\Lib\site-packages\django\bin\app\app\settings.py
'mysql': { 'ENGINE': 'django.db.backends.mysql', 'HOST': '192.168.1.103', 'POST': '3306', 'NAME': 'aaa', # 数据库名称 'USER': 'root', 'PASSWORD': '123456', 'OPTIONS': { 'init_command': "SET sql_mode ='STRICT_TRANS_TABLES' " } }
新建了models.py
参考路径D:\Python27\Lib\site-packages\django\bin\app\app\models.py
引入models 模块
创建user表
# -*- coding:utf-8 -*- from __future__ import unicode_literals from django.db import models class user(models.Model): username = models.CharField(max_length=40) password = models.CharField(max_length=30)
二、同步数据库 manage.py migrate --database=mysql
先执行python manage.py makemigrations
在执行python manage.py migrate --database=mysql
D:\Python27\Lib\site-packages\django\bin\app>manage.py migrate --database=mysql
实例 创建member表
1)models.py文件里 定义数据表结构
class 数据表名 首字母大写
2) python manage.py makemigrations
先要进入项目目录在执行以上命令
3)python manage.py migrate --database=mysql
然后后数据库管理工具看眼
遇到的问题
1.执行 manage.py migrate --database=mysql 报错 ,
SyntaxError: Non-ASCII character '\xe6' in file D:\Python27\Lib\site-packages\django\bin\app\app\settings.py on line 135, but no encoding declared; see http://python.org/dev/peps/pep-0263/ for details
解决办法
D:\Python27\Lib\site-packages\django\bin\app\app\settings.py 顶部定义编码格式
# -*- coding: utf-8 -*-
2.同样执行 manage.py migrate --database=mysql 报错
django.core.exceptions.ImproperlyConfigured: Error loading MySQLdb module: No module named MySQLdb.
Did you install mysqlclient or MySQL-python?
解决办法
1)安装 Microsoft Visual C++ 9.0
http://aka.ms/vcpython27
下载地址 https://www.microsoft.com/en-us/download/details.aspx?id=44266
2)安装MySQL-python
pip install mysql-python
这里是通过安装 mysqlclient
D:\Python27\Lib\site-packages\django\bin\app>pip install mysqlclient==1.3.4
Collecting mysqlclient==1.3.4
Downloading mysqlclient-1.3.4-cp27-none-win_amd64.whl (1.0MB)
100% |████████████████████████████████| 1.0MB 412kB/s
Installing collected packages: mysqlclient
Successfully installed mysqlclient-1.3.4
提示
pip安装可以选择版本安装
比如 pip install mysql-python == 1.2.4 报错
urllib2.HTTPError: HTTP Error 403: SSL is required
增加版本就变成 pip install mysql-python == 1.2.5 报错
mysql-python下载地址
https://pypi.python.org/pypi/MySQL-python/
MySQL-3.23 through 5.5 and Python-2.4 through 2.7 are currently supported. Python-3.0 will be supported in a future release. PyPy is supported.
不支持mysql 5.6!
https://dev.mysql.com/downloads/connector/python/
版本号问题
Table 3.1 Connector/Python Version Reference
Connector/Python Version | MySQL Server Versions | Python Versions | Connector Status |
---|---|---|---|
8.0 (continuation of 2.2) | 8.0, 5.7, 5.6, 5.5 | 3.4 and higher, 2.7 | Developer Milestone |
2.2 (continues as 8.0) | 5.7, 5.6, 5.5 | 3.4 and higher, 2.7 | Developer Milestone |
2.1 | 5.7, 5.6, 5.5 | 3.4 and higher, 2.7, 2.6 | Recommended version |
2.0 | 5.7, 5.6, 5.5 | 3.4 and higher, 2.7, 2.6 | GA, Supported |
1.2 | 5.7, 5.6, 5.5 (5.1, 5.0, 4.1) | 3.1 and higher, 2.7, 2.6 | GA, Supported |
https://dev.mysql.com/doc/connector-python/en/connector-python-versions.html
Connector/Python
Connector/Python Coding Examples 连接MySQL实例代码
MySQL Connector/Python Developer Guide Connector/Python 开发者指南
Installing Connector/Python from a Binary Distribution 多平台安装
参考资料
文档