Python3.5+Django1.9+MySQL57+PyCharm5.0.1配置

本文所有的操作均在PyCharm5.0.1中进行配置。

1. 在PyCharm→Settings→Project Interpreter中安装Django 1.9(Django框架代码)、PyMySQL 0.7.1(Django与MySQL Server之间的连接器);
PyCharm中的项目所使用的Python解释器以及包管理界面

2. 安装MySQL服务器端(推荐直接安装MySQL Workbench,包括了Server和Client),并确认“计算机服务”中的“MySQL57”已启动;
确认MySQL57服务已启动

3. Django项目中配置settings.py
DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.mysql', #设置为mysql数据库
        'NAME': '',  #mysql数据库名
        'USER': '',  #mysql用户名,留空则默认为当前linux用户名
        'PASSWORD': '',   #mysql密码
        'HOST': 'localhost',  #留空默认为localhost
        'PORT': '3306',  #留空默认为3306端口
    }
}

4. Django项目中配置__init__.py

由于django2.x版本时支持的是MySQLdb,PyMySQL是替代停更的MySQLdb支持python3.x,因此需要添加如下设置:

import pymysql
pymysql.install_as_MySQLdb()

5. 打开Workbench,新建Model(Schema),命名与步骤3中的'NAME'一致,保存为.mwb文件。新建任意一个table(创建任意一列),然后在菜单栏Database中执行Forward Engineer,之后可以在Navigator栏中的SCHEMAS中看到之前新建的Schema(eds)。若在新建Model后直接执行Forward Engineer,则会因为是空模型而创建失败。
在MySQL中创建成功的eds

6. 在PyCharm中的Terminal中执行以下命令,可以在MySQL Server中创建django项目中的定义的所有Model。
python manage.py makemigrations
python manage.py migrate

7. 在PyCharm中的Python Console中执行如下命令,可以在数据库eds中的polls_question表中创建新的数据条目。

PS:Question的定义可参考django documentation

from django.utils import timezone
from polls.models import Question
Question(question_text='Hello 2016', pub_date=timezone.now()).save()

推荐阅读更多精彩内容