django+mysql的使用示例

论坛 期权论坛 脚本     
niminba   2021-5-23 03:17   1756   0

Django中每一个模型model都对应于数据库中的一张表,每个模型中的字段都对应于数据库表的列。方便的是,django可以自动生成这些create table, alter table, drop table的操作。其次Django为咱们也提供了后台管理模块(Django-Admin),主要功能是通过后台管理来实现客户端的功能,可以对数据进行增删改查。也可以通过该功能进行二次开发

Django中的mysql配置

在上期内容,我们了解了settings.py配置信息的内容,其中DATABASES是用来管理数据库配置的,默认是sqlite3数据库,所以我们需要将其修改成mysql数据库。

# Database
# https://docs.djangoproject.com/en/2.0/ref/settings/#databases

# 数据库配置 默认的数据库为sqlite
# DATABASES = {
#  'default': {
#   'ENGINE': 'django.db.backends.sqlite3',
#   'NAME': os.path.join(BASE_DIR, 'db.sqlite3'),
#  }
# }
DATABASES = {
 'default': {
  'ENGINE': 'django.db.backends.mysql', # 数据库引擎
  'NAME': 'django_mysql', # 数据库名
  'USER': 'root', # 账号
  'PASSWORD': 'root', # 密码
  'HOST': '127.0.0.1', # HOST
  'POST': 3306, # 端口

 }
}

字段名称代码中都添加了相应说明,ENGINE为MYSQL数据库引擎,这个当然不会凭空出现,需要我们去安装

安装pymysql

pip3 install pymysql

项目中配置

在最开始的项目包下的 init .py中进行如下配置

"""
setting中的配置默认为sqlite3数据库 当需要修改成MySql时
并且在setting.py的同级目录的__init__.py 加入如下配置
否则会报错: Error loading MySQLdb module.
"""
import pymysql
pymysql.install_as_MySQLdb()

如果mysql配置信息错误(用户名、密码、host等)控制台会报如下异常

pymysql.err.OperationalError: (1045, "Access denied for user 'ROOT'@'localhost' (using password: YES)")

在app文件的models.py文件中 创建Student(学生信息)和StudentUnion(社团信息)

models.py:数据模块,用于数据库设计

"""
创建学生信息表模型
"""
from django.db import models

"""
 该类是用来生成数据库的 必须要继承models.Model
"""
class Student(models.Model):
 """
 创建如下几个表的字段
 """
 # 学号 primary_key=True: 该字段为主键
 studentNum = models.CharField('学号', primary_key=True, max_length=15)
 # 姓名 字符串 最大长度20
 name = models.CharField('姓名', max_length=20)
 # 年龄 整数 null=False, 表示该字段不能为空
 age = models.IntegerField('年龄', null=False)
 # 性别 布尔类型 默认True: 男生 False:女生
 sex = models.BooleanField('性别', default=True)
 # 手机 unique=True 该字段唯一
 mobile = models.CharField('手机', unique=True, max_length=15)
 # 创建时间 auto_now_add:只有在新增的时候才会生效
 createTime = models.DateTimeField(auto_now_add=True)
 # 修改时间 auto_now: 添加和修改都会改变时间
 modifyTime = models.DateTimeField(auto_now=True)

 # 指定表名 不指定默认APP名字
分享到 :
0 人收藏
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

积分:1060120
帖子:212021
精华:0
期权论坛 期权论坛
发布
内容

下载期权论坛手机APP