Django1.7+python 2.78+pycharm配置mysql数据库

yipeiwu_com6年前Python基础

配置好virtualenv 和virtualenvwrapper后,使用pycharm创建新项目。之后要面临的问题就来了,之前一直使用的是sqlite作为开发数据库进行学习,按照之前看教程的原则,好像就是说开发环境要和生产环境尽量的一致,所以现在想尝试一下使用更有可能在生产环境部署的mysql数据库进行开发。

本觉得是一件应该很轻松的事情,没想到遇到了一些麻烦

根据一通百度,搜出来的方案大概有:

MySQLdb
mysql安装时候自带的connector
pymysql

MySQLdb 是django官方推荐的第一个是django官方推荐的数据库链接库,也自然是我第一个尝试的。可是安装的时候居然找不到适合64位,python2.78的安装文件! 通过一篇文章介绍修改勉强装上了支持2.7的版本,结果使用的时候总是unicode报错,mysql的数据库也按照教程说的设置成了utf8编码,只得作罢

2,自带的connector

又是一个看起来很官方的版本,但是按照官方的安装方法总是提示没有mysql.connector.django这个模块。。。。不明白为什么。再仔细找找发现安装成功的同学之后又碰到了中文unicode报错。。。。。残念

3,pymysql

这是博客上关于python3试用django-mysql的解决方案。一开始因为非官方没有使,倒是意外简单的成功了。。。

在project的inti.py里面添加:

import pymysql
pymysql.install_as_MySQLdb()
settings:

DATABASES = {
'default': {
'ENGINE': 'django.db.backends.mysql', #数据库引擎
'NAME': 'django', #数据库名
'USER': 'user', #用户名
'PASSWORD': 'password!', #密码
'HOST': 'localhost', #数据库主机,默认为localhost
'PORT': '3306', #数据库端口,MySQL默认为3306
'OPTIONS': {
'autocommit': True,
},
}
}

相关文章

详解Python中的type()方法的使用

 type()方法返回传递变量的类型。如果传递变量是字典那么它将返回一个字典类型。 语法 以下是type()方法的语法: type(dict) 参数  ...

python抽取指定url页面的title方法

今天简单使用了一下python的re模块和lxml模块,分别利用的它们提供的正则表达式和xpath来解析页面源码从中提取所需的title,xpath在完成这样的小任务上效率非常好,在这里...

Python实现二叉树的常见遍历操作总结【7种方法】

本文实例讲述了Python实现二叉树的常见遍历操作。分享给大家供大家参考,具体如下: 二叉树的定义: class TreeNode: def __init__(self, x):...

python实现复制大量文件功能

本文实例为大家分享了python实现复制大量文件的具体代码,供大家参考,具体内容如下 本来是去项目公司拷数据,结果去了发现有500G,靠系统的复制功能怕是得好几个小时,于是回来学一手操作...

我就是这样学习Python中的列表

1. 列表 对于python列表的理解可以和C语言里面的数组进行比较性的记忆与对照,它们比较相似,对于python里面列表的定义可以直接用方括号里加所包含对象的方法,并且python的...