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 性能提升的几种方法

关于python 性能提升的一些方案。 一、函数调用优化(空间跨度,避免访问内存)  程序的优化核心点在于尽量减少操作跨度,包括代码执行时间上的跨度以及内存中空间跨度。 1.大...

python基于json文件实现的gearman任务自动重启代码实例

一:在gearman任务失败后,调用task_failed def task_failed(task, *args): info = '\n'.join(args) dat...

django解决跨域请求的问题

解决方案 1.安装django-cors-headers pip install django-cors-headers 2.配置settings.py文件 INSTA...

详细解析Python中的变量的数据类型

详细解析Python中的变量的数据类型

 变量是只不过保留的内存位置用来存储值。这意味着,当创建一个变量,那么它在内存中保留一些空间。 根据一个变量的数据类型,解释器分配内存,并决定如何可以被存储在所保留的内存中。因...

python 判断linux进程,并杀死进程的实现方法

如下所示: ''' @author: Jacobpc ''' import os import sys import subprocess def get_process_id(...