文档章节

【Python】Python3.4 + Django1.7.2 如何连接MySQL

 青衫游侠
发布于 2015/02/13 19:35
字数 505
阅读 71
收藏 0

      最近在玩Django,本来数据库用的是sqlite3(Django默认),不需要配置就能够使用。但是感觉在实际应用中,MySQL用得比较多,于是就动手配置了一下,发现不那么顺利。究其原因是Django官方最新的1.7+的版本,使用的是Python3,但是Mysqldb却没有支持Python3。下面记录正确的配置步骤。


假设环境里已经安装好了Python3, Django1.7.2, MySQL。那么一步步来就好了:

一, 下载PyMySQL:

https://github.com/PyMySQL/PyMySQL/


二, 安装PyMySQL到Python:

python setup.py install


三,在Django项目(这里是mysite/mysite)中的__init__.py 加入:

import pymysql
pymysql.install_as_MySQLdb()

如果还没有创建项目,需要先创建一个:

django-admin startproject mysite


四, 同样,在项目文件夹中的setting.py中加入数据库信息:

DATABASES = {
   'default': {
       'ENGINE': 'django.db.backends.mysql',
       'NAME': 'mydb', #Here is your database name
       'USER': 'root',
       'PASSWORD': '',
       'HOST': '127.0.0.1',
       'PORT': '3306'
    }}


注意,上面的配置信息按照实际的填写。如果没有修改数据库的权限等信息,则按照上面填就好了,都是默认的。注意NAME这里填写要链接的数据库名。


五, 检查链接

配置好上面的信息之后,进入Django管理shell,尝试链接一下:

from django.db import connection
cursor = connection.cursor()

如果没有报错,则说明大功告成。有报错的话,则退回到四中检查配置信息。


六, 同步数据库

数据库配置成功后,需要Django帮忙同步一下数据库,将项目中的内容同步到刚刚配置好的新数据库中:

python manage.py syncdb

这里由于是第一次写数据库,因此会在最后请你创建Django超级管理用户。按照提示写就可以了。


七, 小彩蛋

如果上面所有的都做成功之后,启动Django项目:

python manage.py runserver

键入如下网址:

http://127.0.0.1:8000/admin

用刚才创建的Django管理用户登录,看看有什么东东?

© 著作权归作者所有

共有 人打赏支持
粉丝 0
博文 6
码字总数 3498
作品 0
闵行
私信 提问
django从sqlite切换到mysql时总是提示No module named 'MySQLdb'

python版本:python3.4 python2和python3有太多不兼容的地方,用着就是操蛋 本来是安装了mysqldb的, 结果配置了数据库后运行总是报错: 'Did you install mysqlclient or MySQL-python?' %...

zshzx
2017/04/23
0
0
Python学习日记六(Python连接MySql)

一.准备工作(下载MySQL-python和python安装包 ) Python需要连接mysql,需要下载Python MySQLdb模块,这里提供几个链接地址: MySQL-python官网下载地址 :https://pypi.python.org/pypi/My...

HaleyLiu
2018/04/12
0
0
python3.4连接mysql数据库

1、print ("zjc");打印字符串 //需要添加(),变量如a = 1,b = "zjc",a = 1 其中可以通过id(a)查询a在内存的地址。 2、3/2 = 1.5 ,3//2=1 //代表整除运算, 32 = 9,33=27 **代表谁的几次方......

幸福的魂魄
2016/07/29
0
0
CentOS 升级Python3.4.3版本

1。下载 安装包:wget http://www.python.org/ftp/python/3.4.3/Python-3.4.3.tgz 2。解压安装包:tar -zxvf Python-3.4.3.tgz    3。进入解压后目录:cd Python-3.4.3 4。创建安装目录:m...

沉淀岁月
2016/11/15
5
0
如何在linux(debian)系统中,将python3.4更新到python3.5?

电脑是debian8,现在已经安装了python3.4后来手动安装了python3.5; 现在安装了pip3,发现pip3安装的第三方modules都安装在了/usr/local/lib/python3.4/dist-packages;现在是只能python3.4能用...

vx2008
2016/05/12
3.8K
7

没有更多内容

加载失败,请刷新页面

加载更多

精品书籍推荐

JavaScript书籍推荐 1、[JavaScript高级程序设计(第3版)] 2、你不知道的JavaScript(中卷) 3、ES6标准入门(第二版)阮一峰

轻轻的往前走
11分钟前
2
0
JVM(六)为什么新生代有两个Survivor分区?

本文会使用排除法的手段,来讲解新生代的区域划分,从而让读者能够更清晰的理解分代回收器的原理,在开始之前我们先来整体认识一下分代收集器。 分代收集器会把内存空间分为:老生代和新生代...

王磊的博客
17分钟前
5
0
程序员最喜欢的15款文本编辑器推荐

程序员最喜欢的15款文本编辑器推荐 2017年09月18日 17:30:50 kangle_zhu 阅读数:59390 转载地址:http://www.cr173.com/html/50553_1.html 很多时候比如编程查看代码或者打开各种文档下我们...

linjin200
19分钟前
6
0
如何在php后端及时推送消息给客户端

walkor大神,目前需求是这样的: 有一群商家在后台网页处理批量导入产品 -》 服务器接受请求 -》 开始foreach一个一个处理导入请求; 我现在想每成功导入一个就推送到前台显示已经导入成功,...

dragon_tech
38分钟前
13
0
Java利用hanlp完成语句相似度分析的案例详解

分享一篇hanlp分词工具使用的小案例,即利用hanlp分词工具分析两个中文语句的相似度的案例。供大家一起学习参考! 在做考试系统需求时,后台题库系统提供录入题目的功能。在录入题目的时候,...

左手的倒影
44分钟前
15
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部