您的位置:首页 > 数据库 > SQL

Django项目详解——MySQL配置及应用

2018-01-09 16:12 519 查看

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
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: