Django之图书信息管理系统的简单实现
大致功能简介
一、出版社管理

1、添加新的出版社(在界面上新增一条出版社信息,添加到数据库)
2、编辑出版社(在已有的出版社基础上修改内容)
3、删除出版社(将出版社从界面中删除,数据库中的内容也要删除)
二、书籍管理

1、添加新的书籍(在界面上添加上新的书籍,同时关联出版社,添加到数据库)
2、编辑书籍(修改已有的书籍)
3、删除书籍(从界面上删除整条书籍记录,删除数据库内容)
功能实现
完成以上功能
第一、我们要事先新建一个Django项目(添加APP)
第二、创建数据库配置静态文件
1、手动创建一个数据库
2、告诉Django要链接那个数据库,在settings.py文件中配置数据库连接信息:
DATABASES = { 'default': { 'ENGINE': 'django.db.backends.mysql', # 告诉Django使用MySQL的那套代码 'NAME': 'day63', # 数据库的名字 'HOST': '127.0.0.1', # 主机 'PORT': 3306, # 端口 'USER': 'root', # 用户名 'PASSWORD': '123' # 密码 } }
3、告诉Django使用pymysql模块代替默认的MySQLdb了解MySQL
在和settings.py同目录下的 __init__.py文件中配置
import pymysql pymysql.install_as_MySQLdb()
4、在app下面的models.py文件中定义类(必须继承models.Model)
from django.db import models # Create your models here. class Publisher(models.Model): id = models.AutoField(primary_key=True) #自增主键 name = models.CharField(max_length=64) #varchar(64) class Book(models.Model): id = models.AutoField(primary_key=True) title = models.CharField(max_length=64) Publisher = models.ForeignKey(to=Publisher) #外键关联Publisher这张表
5、在命令行中输入两条命令
1. python3 manage.py makemigrations --> 把models.py里面的改动登记到小本本上
2. python3 manage.py migrate --> 将登记的改动翻译成SQL语句,到数据库中执行
第三、配置templates和静态文件
第四、注释掉settings.py中MIDDLEWARE配置中 “ csrf ” 那一行

Django项目的业务逻辑:
例:输入 127.0.0.1:8000/publisher_list/ --> 返回一个页面,页面上将数据库中所有的出版社要展示出来
这几个功能大致流程是一样的,区别就在于执行函数和HTML文件
在urls.py文件下将用户访问的url与执行函数的对应关系配置好

一、出版社管理
1、出版社的添加
①、在views.py文件下编写对应的执行函数

②、在templates.py文件下编写对应的html文件
publisher_list.html文件:


add_publisher.html文件:

2、编辑出版社
①执行函数

②、HTML文件
edit_publisher.html文件:

3、删除出版社
执行函数

直接将该出版社整条数据从数据库中删除,没有HTML文件
二、书籍管理
1、添加书籍
①、执行函数

②、HTML文件
book_list.html:

add_book.html:

书籍管理
2、编辑书籍
执行函数

edit_book.html

Django的模板语言:
1. {{变量}} {{变量.属性}}
2. for循环
{% for i in xx %}
{{i}}
{% endfor %}
forloop.counter --> 计数
3. if判断
{% if 条件 %}
条件成立要做的事儿
{% else %}
条件不成立要做的事儿
{% endif %}
作者管理
1、查看作者列表
执行函数

author_list.html:

2、添加作者记录
执行函数

html文件中直接在form表单当中定义一个文本框接收用户提交的作者信息,一个submit按钮用于提交就可以
3、编辑作者信息
执行函数

edit_author.html

作者信息
Sean
Stay hungry,Stay foolish.


浙公网安备 33010602011771号