为Django项目中的app设置数据库,此文章衔接上一篇文章:利用Django创建简单app
数据库绑定
对于mysql数据库,数据库的绑定需要安装mysqlclient驱动,使用pip进行安装:
pip install mysqlclient
对于Windows来说,下载一个wheel包,然后用pip安装更容易,首先下载mysqlclient,注意根据自己的版本和系统版本进行下载。cp35代表python版本是3.5,amd64代表64位操作系统。放到和项目同目录,然后执行命令:
pip install mysqlclient-1.4.6-cp35-cp35m-win_amd64.whl
数据库设置
数据库的设置在项目的设置文件中——djangoMan//settings.py。
找到DATABASES,在default里更改如下设置:
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.mysql',
'NAME': 'djangoman',
'USER': 'root',
'PASSWORD': 'xxxxxx',
'HOST': '127.0.0.1',
'PORT': '3306',
}
}
这里ENGINE告诉django要连接的数据库类型。NAME是数据库名称。这里需要事先在数据库中创建好名为djangoman的database。
设置TIME_ZONE
设置TIME_ZONE,比如设置成澳洲时间
TIME_ZONE = 'Australia/NSW'
创建预设表
因为django本身已经有一些预创建的表,所以运行下边的命令,创建预设的数据表。
py manage.py migrate
migrate这个指令会去查找settings.py文件中的INSTALLED_APPS的内容,并根据需要创建表。
创建模型(建表)
现在开始为app创建自己的表。首先在polls里创建一个models.py文件,创建表的代码写在polls/models.py里,一个类代表一张表。
from django.db import models
class Question(models.Model):
question_text = models.CharField(max_length=200)
pub_date = models.DateTimeField('date published')
class Choice(models.Model):
question = models.ForeignKey(Question, on_delete=models.CASCADE)
choice_text = models.CharField(max_length=200)
votes = models.IntegerField(default=0)
每一个类(每一张表)都继承models.Model类 。每一个字段属性都有一个字段类的实例表示。
激活模型
将名为pol