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 多平台安装
参考资料
文档
django 1.11.1 连接MySQL的更多相关文章
- django新建项目,连接mysql数据库
安装django,进入Django目录,运行 python setup.py install 在workplace目录下新建一个名为site01的项目: cd workplacedjango-admi ...
- VS2019 开发Django(三)------连接MySQL
导航:VS2019开发Django系列 下班回到家,洗漱完毕,夜已深.关于Django这个系列的博文,我心中的想法就是承接之前的微信小程序的内容,做一个服务端的管理中心,上新菜单,调整价格啊!之类的, ...
- Django 3.0 中连接mysql 8.0,可以不使用pymysql ,升级Mysqlclient即可
python 中,连接mysql一般都推荐用pymysql ,而且在django中,网上的教程都是这么连接mysql的. import pymysql pymysql.install_as_MySQL ...
- Django中的app及mysql数据库篇(ORM操作)
Django常见命令 在Django的使用过程中需要使用命令让Django进行一些操作,例如创建Django项目.启动Django程序.创建新的APP.数据库迁移等. 创建Django项目 一把我们都 ...
- Django---Django连接Mysql数据库
前面介绍了Django平台的数据交互,这些数据都是在本地存放着,修改内容或者重新启动服务,数据就消失了,如果我们把数据存放在数据库中,不就保存了吗? Django数据库 Django中自带的也有数据库 ...
- ava基础MySQL存储过程 Java基础 JDBC连接MySQL数据库
1.MySQL存储过程 1.1.什么是存储过程 带有逻辑的sql语句:带有流程控制语句(if while)等等 的sql语句 1.2.存储过程的特点 1)执行效率非常快,存储过程是数据库的服 ...
- django连接mysql数据库以及建表操作
django连接mysql数据库需要在project同名的目录下面的__init__.py里面加入下面的东西 import pymysql pymysql.install_as_MySQLdb() 找 ...
- Ununtu 15.04 安装MySql(Django连接Mysql)
本文介绍Ubuntu 15.04下安装MySQL ubuntu 15.04安装mysql django项目连接mysql 一.安装数据库 1.sudo apt-get install mysql-se ...
- Django连接MySQL出错
错误一:No module named 'MySQLdb' 原因:python3连接MySQL不能再使用mysqldb,取而代之的是pymysql. 解决方法:在python的MySQL包中,即路径: ...
随机推荐
- Tomcat增加虚拟内存(转)
程序要遍历读取xml并写入数据库,需要占用大量内存 如果数据量大则报错 Exception in thread "Timer-0" java.lang.OutOfMemoryErr ...
- windows多线程同步--互斥量
关于互斥量的基本概念:百度百科互斥量 推荐参考博客:秒杀多线程第七篇 经典线程同步 互斥量Mutex 注意:互斥量也是一个内核对象,它用来确保一个线程独占一个资源的访问.互斥量与关键段的行为非常相似, ...
- 系统编码、文件编码与python系统编码
在linux中获取系统编码结果: Windows系统的编码,代码页936表示GBK编码 可以看到linux系统默认使用UTF-8编码,windows默认使用GBK编码.Linux环境下,文件默认使用U ...
- Class.forName和ClassLoader.loadClass的区别
Class的装载分了三个阶段,loading,linking和initializing,分别定义在The Java Language Specification的12.2,12.3和12.4. Cla ...
- shell变量的截取总结
#shell变量的截取 Shell中的${}.##和%% 假设定义了一个变量为: 代码如下: file=/dir1/dir2/dir3/my.file.txt //变量的删除 可以用${ }分别替换得 ...
- Nginx配置静态资源
静态服务器 静态服务器概念非常简单:当用户请求静态资源时,把文件内容回复给用户. 但是,要把静态服务做到极致,需要考虑的方面非常多: 正确书写header:设置content-type.过期时间等 效 ...
- redis性能测试报告
服务器配置:16核心,64G 250个并发读:250个并发写性能[内容8千byte] 163为读:164为写:
- 【SqlServer】Sqlserver中的DOS命令操作
输入osql ?查看是否支持当前版本,如果是SQL Server 2005以上用Sqlcmd , 以下用Osql连接数据库(a)Osql -S localhost -U username -P p ...
- Socket网络编程--网络爬虫(4)
上一小节我们已经实现了获取博客园最近博客的200页里面的用户名,并保存在一个map中.一开始是想通过这个用户名然后构造一个博客地址.然后在这个地址中查找心得用户名,但是后来发现这个的效率不是很高,虽然 ...
- 【Java】分布式RPC通信框架Apache Thrift 使用总结
简介 Apache Thrift是Facebook开源的跨语言的RPC通信框架,目前已经捐献给Apache基金会管理,由于其跨语言特性和出色的性能,在很多互联网公司得到应用,有能力的公司甚至会基于th ...