【Django】连接数据库

前言

最近使用Django开发项目,记录一下Django的常用操作

新建项目

使用Pycharm新建Django项目,项目名称是demo
在这里插入图片描述
项目结构
在这里插入图片描述

创建数据库

简单演示,新建数据库demo_student

-- 创建数据库
CREATE DATABASE demo_django;

Django连接数据库

配置数据库连接信息

打开项目下的setting.py文件,找到DATABASES变量,修改引擎,写上数据库的名称、用户名、密码、地址、端口,修改如下:

DATABASES = {
    'default': {
        # 'ENGINE': 'django.db.backends.sqlite3',
        'ENGINE': 'django.db.backends.mysql',
        # 'NAME': BASE_DIR / 'db.sqlite3',
        'NAME': 'demo_django',
        'USER': 'root',
        'PASSWORD': '123456',
        'HOST': 'localhost',
        'PORT': '3308'
    }
}

修改后,发现报错,缺少一些包,按照提示安装即可

django.core.exceptions.ImproperlyConfigured: Error loading MySQLdb module.
Did you install mysqlclient?

(D:\Anaconda3501\envs\python385) E:\DjangoLearn\demo>pip install mysqlclient
Looking in indexes: https://pypi.douban.com/simple
Collecting mysqlclient
  Downloading https://pypi.doubanio.com/packages/c5/e6/d3dd1d7d47f8ae2e1ac8dde451822cd57da6145ae1597e6db36091f2dd68/mysqlclient-2.1.1-cp38-cp38-win_amd64.whl (178 kB)
     |████████████████████████████████| 178 kB 1.7 MB/s
Installing collected packages: mysqlclient
Successfully installed mysqlclient-2.1.1

新建app

执行命令python manage.py startapp student,student是app的名字,app其实就是数据库的实体。
在这里插入图片描述
执行后会出现student文件夹

创建数据库表

student的文件夹下,找到models.py文件,写入表的列名

from django.db import models


# Create your models here.
class Student(models.Model):
    id = models.AutoField(primary_key=True)
    name = models.CharField(max_length=10)
    sex = models.CharField(max_length=1, default='男')
    

添加app到项目中,打开setting.py文件,找到INSTALLED_APPS变量,添加studentapp:

INSTALLED_APPS = [
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',
    'student'
]

执行迁移命令python manage.py makemigrationspython manage.py migrate

(D:\Anaconda3501\envs\python385) E:\DjangoLearn\demo>python manage.py makemigrations
Migrations for 'student':
  student\migrations\0002_rename_studen_student.py
    - Rename model Studen to Student

(D:\Anaconda3501\envs\python385) E:\DjangoLearn\demo>python manage.py migrate
Operations to perform:
  Apply all migrations: admin, auth, contenttypes, sessions, student
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 admin.0003_logentry_add_action_flag_choices... 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 auth.0010_alter_group_name_max_length... OK
  Applying auth.0011_update_proxy_permissions... OK
  Applying auth.0012_alter_user_first_name_max_length... OK
  Applying sessions.0001_initial... OK
  Applying student.0001_initial... OK
  Applying student.0002_rename_studen_student... OK

查看数据库,项目数据库创建成功
在这里插入图片描述

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

people_king

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

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

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

打赏作者

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

抵扣说明:

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

余额充值