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

yipeiwu_com7年前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功能点实现:函数级/代码块级计时器

工程中我们常常需要对某一个函数或者一块代码计时,从而监测系统关键位置的性能。计时方法是在代码块前后分别记录当前系统时间,然后两者相减得到代码块的耗时。最简单原始的实现类似: from...

微信公众号token验证失败解决方案

我用的是python3+,而官网给的例子是python2的写法。问题就在python版本不同。 下面是截取官方的实例代码的一部分 list = [token, timestamp,...

Python 中如何实现参数化测试的方法示例

之前,我曾转过一个单元测试框架系列的文章,里面介绍了 unittest、nose/nose2 与 pytest 这三个最受人欢迎的 Python 测试框架。 本文想针对测试中一种很常见的...

详解python的sorted函数对字典按key排序和按value排序

详解python的sorted函数对字典按key排序和按value排序

1.sorted函数按key值对字典排序 先来基本介绍一下sorted函数,sorted(iterable,key,reverse),sorted一共有iterable,key,reve...

Django 外键的使用方法详解

Django 外键的使用方法详解

一、描述 在利用django做网络开发的时候我们会遇到一个问题就是,我们建立了多张数据表,但是多张数据表中的内容是不一样的,但是之间有着联系比如: 我有两张表,一张是记录歌曲信息的内容,...