1. 创建数据库
create database webdb default charset utf8collate utf8_general_ci
2. Django中的数据库的配置
在settings.py中配置数据库的信息
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.sqlite3',
'NAME': os.paith.join(BASE_DIR,'db.sqlite3'),
}
}
1. ENGINE:引擎
连接到mysql的引擎
'django.db.backends.mysql'
2. NAME:要连接到的数据库的名称
3. USER:用户名称,通常为root
4. PASSWORD:用户密码
5. HOST:要连接的主机,通常为IP地址
本机:localhost/127.0.0.1/不写
6. PORT:端口号 mysql默认为3306
数据库的同步操作
1. 在项目内 __init__.py内添加
import pymysql
pymysql.install_as_MySQLdb()
1. ./manage.pymakemigrations
作用:将每个应用下的models先映射成数据库的日志文件(中间文件),并存放在每个应用下的migrations的文件夹中
2. ./manage.pymigrate
作用: 将每个映射下的migraltions文件夹中的日志文件同步到数据库中
编写Models
注意:
1. Models中的每个class都成为模型类(Model)或实体类(Entry)
2. Models中的每个实体类,必须继承自models.Model
1. 创建模型类
models.py
from django.db import models
classPublisher(models.Model):
name = models.CharField(max_length=30)
address = models.CharField(max_length=50)
city = models.CharField(max_length=30)
country = models.CharField(max_length=30)
website = modes.URLField()
Django提供的数据字段和字段选项
1. 数据字段(FieldTypes)
a) BoolwanField()
b) CharField()
c) DayeField()
d) DecimalField()
e) EmailFild()
f) FloatField()
g) FileField()
h) IntegerField()
i) ImageField(upload_to=’static/upload/表名文件夹’)
j) URLField()
2. 字段选项(FieldOptions)
a) null:是否允许为空
name = models.CharField(max_length=30,null=True)
b) default:为列设置默认值
name= models.CharField(max_length=30,default=’匿名’)
c) verbose_name:在后台管理中,该列显示的名称
name=models.CharField(max_length=30,verbose_name=‘用户名称’)