# Django-Model ## 一、更改数据库 ​ Django默认数据库为SQLite,要使用MySQL,需要修改项目的setting.py的DATABASES选项: ```python # __init__.py文件: import pymysql pymysql.install_as_MySQLdb() ``` ```python # setting.py文件: DATABASES = { 'default': { 'ENGINE': 'django.db.backends.mysql', 'NAME': '数据库名', 'USER': '用户名', 'PASSWORD': '密码', 'HOST': '主机名', 'PORT': '端口', } } # 所有变量均为字符串 ``` ## 二、激活App 要激活App,需要修改项目的setting文件: ```python # setting文件 INSTALLED_APPS = [ 'django.contrib.admin', 'django.contrib.auth', 'django.contrib.contenttypes', 'django.contrib.sessions', 'django.contrib.messages', 'django.contrib.staticfiles', 'study', #新添加的应用 ] ``` ## 三、定义模型 ​ 在数据库中,每张数据表在models.py中对应一个类。并且每个类都要继承`model.Model`类 ```python # App/models.py文件 from django.db import models #Create your models here class student(models.Model): #总人数、是否男生、男生数、女生数 total=models.IntegerField() isBoy=models.BooleanField() boyNum=models.IntegerField() girlNum=models.IntegerField() ``` ## 四、使用数据表 ### 1.生成迁移文件 ```python python manage.py makemigrations ``` ​ 执行后将会在app/migrations目录下生成迁移文件: ```shell Migrations for 'study1': study1\migrations\0001_initial.py - Create model student ``` ### 2.执行迁移 ```python python manage.py migrate ``` ​ 执行迁移后将会根据model在数据库中生成对应表。 ## 五、测试数据操作 ### 1.进入Django项目shell ``` python manage.py shell #进入项目shell ``` ### 2.导入App.models ```python from AppName.models import class ``` 例1: ```python from study1.models import students ``` ### 3.生成表对象 例1: ```python a = students a.total=60 a.isBoy=Flase a.boyNum=20 a.girlNum=60 a.save() #保存数据到数据表中 ``` ​ 上面的表结构并不合理,在此只做演示 ## 六、测试服务器 ```python python manage.py runreserve ip:port ``` ​ IP:PORT默认为`http://localhost:8000`,若不更改默认设置,可省略。 ## 七、汉化 打开project/setting.py文件,修改如下: ```python LANGUAGE_CODE = 'zh-hans' #设置中文 TIME_ZONE = 'Asia/Shanghai' #设置时区 ```