Django的MySQL配置
下载mysql驱动
cmd进入django项目根目录:
pip install mysqlclient
安装成功后,最后应该是这样的
Collecting mysqlclient
Downloading mysqlclient-1.3.12-cp36-cp36m-win_amd64.whl (1.3MB)
...
...
Installing collected packages: mysqlclient
Successfully installed mysqlclient-1.3.12
设置连接参数
在settings.py中配置mysql连接参数,详见django database
如果用sqlite,那把文件存在目录中,然后name直接填完整路径就行了,就按照原有的样子,只改个NAME
就行了
# sqlite 格式
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.sqlite3',
'NAME': os.path.join(BASE_DIR, 'db.sqlite3'),
}
}
# sqlite之外的数据库格式
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.mysql',
'NAME': '数据库名(你得先在mysql中创建数据库)',
'USER':'mysql用户名(如user,默认root)',
'PASSWORD':'密码(如123456,默认无密码)',
'HOST':'域名(如127.0.0.1,默认localhost)',
'PORT':'端口号(如9001,默认3306)',
}
}
sqlite之外的数据库格式,不仅需要设置那些参数,而且必须确保已经有了创建好的数据库,如果没有,可以临时创建一个CREATE DATABASE test;
如果上述报错缺少文件,可以加上这两句试试
import pymysql # 通过pip install pymysql!
pymysql.install_as_MySQLdb()
至此,MySQL已经配置好了
Django的MySQL应用
注册app到数据库列表
setting.py/INSTALLED_APPS
# Application definition
INSTALLED_APPS = [
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
# 在这里加入app,如"cmdb"
]
创建model
在models.py中创建model类
from django.db import models
# Create your models here.
class Article(models.Model):
title = models.CharField(max_length=60, default='title')
content = models.TextField(null=True)
根据model创建数据库表
1. cmd进入django项目路径下
# 创建django表结构,对应setting.py/INSTALLED_APPS
2. Python manage.py migrate
# 做数据迁移的准备(注意,是app名,不是项目名)
3. python manage.py makemigrations app名
# 执行迁移,创建medel表结构
4. python manage.py migrate