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检测字符串中是否包含某字符集合中的字符

目的   检测字符串中是否包含某字符集合中的字符 方法   最简洁的方法如下,清晰,通用,快速,适用于任何序列和容器 复制代码 代码如下: def containAny(seq,ase...

基于numpy.random.randn()与rand()的区别详解

numpy 中有一些常用的用来产生随机数的函数,randn()和rand()就属于这其中。 numpy.random.randn(d0, d1, …, dn) 是从标准正态分布中返回一个...

Python  Django 母版和继承解析

Python Django 母版和继承解析

可以把多个页面相同的部分提取出来,放在一个母板里,这些页面只需要继承这个母板就好了 通常会在母板中定义页面专用的 CSS 块和 JS 块,方便子页面替换 定义块: {% block...

python多进程(加入进程池)操作常见案例

本文实例讲述了python多进程(加入进程池)操作。分享给大家供大家参考,具体如下: 一、多进程复制多个文件 import multiprocessing import os imp...

详解python 模拟豆瓣登录(豆瓣6.0)

详解python 模拟豆瓣登录(豆瓣6.0)

最近在学习python爬虫,看到网上有很多关于模拟豆瓣登录的例子,随意找了一个试了下,发现不能运行,对比了一下代码和豆瓣网站,发现原来是豆瓣网站做了修改,增加了反爬措施。 首先看下要模拟...