django连接数据库sqlite并创建表结构

新建一个django项目:

结构如下:

注:models.py是自己后新建的py文件

新建django_demo/models.py文件:

#!/usr/bin/python
# -*- coding: UTF-8 -*-
"""
@author:ZSW
@file:models.py
@time:2020/10/10
"""
from django.db import models

# Create your models here.
# 课程表
class CourseModel(models.Model):
    cour_id = models.CharField(max_length=15, verbose_name='学生ID')
    course = models.CharField(max_length=30, verbose_name='课程')
    grade = models.IntegerField(default=60, verbose_name='分数')
    class Meta():
        db_table = 'course'
    def __str__(self):
        return '学生Id:  课程:  分数: '.format(self.cour_id, self.course, self.grade)

# 学生信息表
class StudentInformationModel(models.Model):
    stu_id = models.CharField(max_length=15,verbose_name='学生id')
    stu_name = models.CharField(max_length=30, verbose_name='学生姓名')
    stu_phone = models.CharField(max_length=20, verbose_name='学生电话')
    str_addr = models.TextField(verbose_name='学生地址')
    stu_faculty = models.CharField(max_length=20, verbose_name='院系')
    stu_major = models.CharField(max_length=30, verbose_name='专业')
    # 取消外键(外键是可用的)
    # stu_course = models.ForeignKey('CourseModel', on_delete=True)
    class Meta():
        db_table = 'studentinformation'

# 学生用户名密码表
class StudentModel(models.Model):
    stu_id = models.AutoField(primary_key=True)
    username = models.CharField(max_length=10, verbose_name='用户名')
    password = models.CharField(max_length=10, verbose_name='密码')
    class Meta():
        db_table = 'student'

创建三个数据表,分别为course、studentinformation、student

接着修改django_demo目录下的setting.py文件:

在 settings.py 中找到INSTALLED_APPS这一项,如下:

INSTALLED_APPS = [
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',
    'django_demo',    #添加此项
]

数据库连接:

在 settings.py 中找到DATABASES这一项,如下:

DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.sqlite3',
        'NAME': os.path.join(BASE_DIR, 'E:/sqlite/sqlite-tools-win32-x86-3310100/student.db'), 
    }
}

上面这种配置表示: 1. sqlite 数据库 和 在项目根目录下 创建一个 student.db 数据库文件

                      2. 数据库的类型 以及 数据库的存储位置

mysql数据库连接方式:

DATABASES = {
    'default': {
        # 'ENGINE': 'django.db.backends.sqlite3',
        # 'NAME': BASE_DIR / 'db.sqlite3',
        'ENGINE': 'django.db.backends.mysql',  # 数据库引擎
        'NAME': 'student_management_study',  # 数据库名称
        'USER': 'root',  # 连接数据库的用户名称
        'PASSWORD': '123456',  # 用户密码
        'HOST': '127.0.0.1',  # 访问的数据库的主机的ip地址
        'PORT': '3306',  # 默认mysql访问端口

    }
}

现在所有的配置操作都已完成,再命令行中执行以下命令:

$ python3 manage.py migrate   # 创建表结构
$ python3 manage.py makemigrations django_demo  # 让 Django 知道我们在我们的模型有一些变更
$ python3 manage.py migrate django_demo   # 创建表结构

执行显示如下:

E:\Pycharm2020project\Django_learn\django_demo>python manage.py migrate
Operations to perform:
  Apply all migrations: admin, auth, contenttypes, sessions
Running migrations:
  Applying contenttypes.0001_initial... OK
  Applying auth.0001_initial... OK
  Applying admin.0001_initial... OK
  Applying admin.0002_logentry_remove_auto_add... OK
  Applying contenttypes.0002_remove_content_type_name... OK
  Applying auth.0002_alter_permission_name_max_length... OK
  Applying auth.0003_alter_user_email_max_length... OK
  Applying auth.0004_alter_user_username_opts... OK
  Applying auth.0005_alter_user_last_login_null... OK
  Applying auth.0006_require_contenttypes_0002... OK
  Applying auth.0007_alter_validators_add_error_messages... OK
  Applying auth.0008_alter_user_username_max_length... OK
  Applying auth.0009_alter_user_last_name_max_length... OK
  Applying sessions.0001_initial... OK

E:\Pycharm2020project\Django_learn\django_demo>python manage.py makemigrations django_demo
Migrations for 'django_demo':
  django_demo\migrations\0001_initial.py
    - Create model CourseModel
    - Create model StudentInformationModel
    - Create model StudentModel

E:\Pycharm2020project\Django_learn\django_demo>python manage.py migrate django_demo
Operations to perform:
  Apply all migrations: django_demo
Running migrations:
  Applying django_demo.0001_initial... OK

最后用navicat工具连接刚新建的数据库:

测试连接成功后,打开就可以看到自己刚新建的course、studentinformation、student三张表:

  • 2
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Steven灬

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值