django1.11使用mysql_django 1.11.1 连接MySQL

本文介绍了如何在 Django 1.11 中配置 mysql 数据库连接,包括在 settings.py 中设置 DATABASES,创建 models.py 文件定义数据表,以及解决在迁移过程中遇到的编码错误和模块导入问题。详细步骤包括安装 Visual C++ 9.0 和 mysqlclient,并提供了解决错误的建议和参考资料。
摘要由CSDN通过智能技术生成

一、定义数据库 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' "

}

}

6c047aebbe65d199e25bff4cd201b579.png

新建了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

7a9b23e5bbbca635da811804c59db0d1.png

实例 创建member表

1)models.py文件里 定义数据表结构

class 数据表名 首字母大写

57582f13fdfd1c4774d9014b07fa99af.png

2) python manage.py makemigrations

先要进入项目目录在执行以上命令

2992214d18276abb1437c16b96ef1dfd.png

3)python manage.py migrate --database=mysql

e66cc615a67cbfffc455668a811c011f.png

然后后数据库管理工具看眼

92379d03751b17960d813e38b0faaef8.png

遇到的问题

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 -*-

98ae8d7ff2a257c0d2abf65f328e6a52.png

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 报错

8d1c87c31370bc22478d314100b47188.png

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 VersionMySQL Server VersionsPython VersionsConnector 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

参考资料

文档

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值