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

posted @ 2018-06-13 16:17  Sean_Yang  阅读(264)  评论(0)    收藏  举报