本文所有的操作均在PyCharm5.0.1中进行配置。
1. 在PyCharm→Settings→Project Interpreter中安装Django 1.9(Django框架代码)、PyMySQL 0.7.1(Django与MySQL Server之间的连接器);
2. 安装MySQL服务器端(推荐直接安装MySQL Workbench,包括了Server和Client),并确认“计算机服务”中的“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,则会因为是空模型而创建失败。
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()