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