-
一、在项目的setting.py文件中设置配置mysql数据库 Django项目创建后,会自动生成一个db.sqlite3,这也是一个数据库,不过它是文件型的。是Django中默认使用的数据库。如果我们需要使用mysql数据库,就要在settings.py文件中的DATABASES中配置,如下图:  因为Django默认的数据库是sqlite3,所以我们更换了mysql数据库后再运行项目,可能会报NO moudle named ’MySQLdb‘这个错误,这时候可以使用命令pip install pymysql手动安装然后导入至项目里。也可以在Django项目中的__ init __.py文件中添加下面的语句,添加后pymsql就会把Django内部的sqlite替换。  - 二、使用python manage.py migrate 创建Django自带的若干数据库 如果不进行任何操作,直接使用python manage.py migrate 命令,可能会报如下错误: 这是因为Django找不到要创建这些表的数据库,看网上说是直接把数据库的NAME改成sql就行,但建议不要这样改,可以自己先创建一个和setting.py文件中DATABASES中数据库名称相同的数据库(使用create database 数据库名称 character set utf8; 命令),然后再次执行python manage.py migrate 命令,就可以成功创建数据库表了。 创建后查看数据库中表,有下列数据库表:  -
三、在app的model.py文件中添加创建数据库表的代码,eg:
”“”
创建StudentInfo类,并且给这个类增加了学生ID、学生姓名等成员属性
相当于创建了一张数据库表StudentInfo,表中有学生ID、学生姓名等字段
“”“
class StudentInfo(models.Model):
stu_id = models.BigAutoField(primary_key=True, verbose_name="学生ID")
stu_name = models.CharField(max_length=30, verbose_name="学生姓名")
stu_faculty = models.CharField(max_length=20, verbose_name="院系")
stu_major = models.CharField(max_length=30, verbose_name="专业")
然后使用命令行:
python manage.py makemigrations
python manage.py migrate
python manage.py makemigrations appname
python manage.py migrate appname
将新建的数据库表迁移至数据库中。
|