Django|关联MySql数据库

1、初始化配置

  • 安装pymysql
sudo pip install pymysql
  • 修改setting.py
INSTALLED_APPS = [
    'appMana.apps.AppmanaConfig',
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',
]


DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.mysql',   # 数据库引擎
        'NAME': 'dbPersonMana',       # 你要存储数据的库名,事先要创建之
        'USER': 'root',         # 数据库用户名
        'PASSWORD': '',     # 密码
        'HOST': 'localhost',    # 主机
        'PORT': '3306',         # 数据库使用的端口
    }
    
    #'default': {
    #    'ENGINE': 'django.db.backends.sqlite3',
    #    'NAME': os.path.join(BASE_DIR, 'db.sqlite3'),
    #}
    
}

  • 修改 __ init __ .py
import pymysql
pymysql.install_as_MySQLdb()

makemigrations / migrate

python manage.py makemigrations appMana
python manage.py migrate


2、创建model

参考:https://docs.djangoproject.com/zh-hans/2.0/intro/overview/

  • 编写appMana/models.py
from django.db import models

# Create your models here.

'''
    学生信息表
    字段:
    学号    sid
    姓名    sname
    性别    sgender
'''


class Student(models.Model):
    sid = models.CharField(max_length=10)
    sname = models.CharField(max_length=30)
    '''
    GENDER_CHOICE = (
        (u'男'),
        (u'女'),
    )
    '''
    GENDER_CHOICE = (
        (u'M', u'Male'),
        (u'F', u'Female'),
    )
    sgender = models.CharField(max_length=2, choices=GENDER_CHOICE)


'''
    课程信息号
    字段:
    课程号  cid
    课程名  cname
'''


class Course(models.Model):
    cid = models.CharField(max_length=10)
    cname = models.CharField(max_length=30)


'''
    学生选课表
    字段:
    学号    sid
    课程号  cid
    分数    cgrade
'''


class SC(models.Model):
    sid = models.CharField(max_length=10)
    cid = models.CharField(max_length=10)
    cgrade = models.FloatField()

  • 在app目录下appMana/admin.py中注册模型
from django.contrib import admin
from . import models
# Register your models here.

admin.site.register(models.Student)
admin.site.register(models.SC)
admin.site.register(models.Course)
  • 创建管理员用户
python manage.py createsuperuser

-在http://127.0.0.1:8000/admin/中登录管理员界面,管理已注册model

Django|关联MySql数据库_第1张图片


你可能感兴趣的:(Django|关联MySql数据库)