本文所有的操作均在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()