前言
Python基于Django实现图书馆借阅管理系统(可用于毕业设计/作业)-4:创建应用,通过Django内部封装的orm框架生成数据库表。
一、创建books应用
一个Django项目至少有一个应用,一个应用可以被多个Django项目调用。对于简单的项目而言,建立一个应用就够用了。我们的图书馆借阅管理系统较为简单,创建一个应用即可,创建应用需要用到命令行代码。接下来我们要创建books应用,命令行代码为:python manage.py startapp books
执行命令后,Django项目根目录下会自动生成一个books目录,如下图所示
然后打开项目根目录下的books_sys\setting.py文件,注册以下我们创建的books应用(否则Django无法帮助我们生成数据库表)。如下图所示,找到INSTALLED_APPS,在该列表的最后加上我们创建的应用名称即可。
二、通过orm生成数据库文件
通过orm生成数据库文件,有三步操作。创建model,生成迁徙文档,执行迁徙。
1、创建model
打开项目根目录下的books/models.py文件,将之前写好的八个表对应的Model类,→点击这里有之前写好的Model类,直接复制写入该文件中。
这里要注意,由于用户表没有使用Django的默认表,而是继承扩展了该表,所以需要单独设置三项。
①在model.py的顶部的导入部分增加以下代码
from django.contrib.auth.models import AbstractUser
②打开项目根目录下books_sys/settings.py文件。在文件的最底部增加以下代码
# 指定auth用户表为新的扩展用户表
AUTH_USER_MODEL = 'books.UserInfo'
③打开项目根目录下的venv\Lib\site-packages\django\contrib\auth模块下的 admin.py文件
找到以下代码(在第九行)
from django.contrib.auth.models import Group, User
将该行上面的User注释掉,同时在下面导入我们定义的UserInfo类,并取别名为User
修改好的代码如下
from django.contrib.auth.models import Group # , User
from books.models import UserInfo as User
然后在该文件中找到 UserAdmin 类(大约在42行),找到该类中的 filedsets 属性,在下面加入元组(元组样式跟上面的一样,加上我们扩展的用户字段即可)即可。代码如下
('phone',{
'fields': ('phone', )}),
2、生成迁徙文件
我们这里使用Django提供的默认数据库做演示,无需配置数据库。直接使用命令行代码即可。
python manage.py makemigrations
执行后的窗口截图如下
3、执行迁徙,生成数据库表
同样需要采用命令行代码,在终端窗口中运行以下命令行代码
python manage.py migrate
执行后的窗口如下图所示
最后我们打开数据库表检查一下,
如上图所示,数据库表生成成功。
关于更新:纯属分享,一般一天更新1~2篇,直至完结。