基于Django+python的图书馆管理系统设计与实现

项目运行

需要先安装Python的相关依赖:pymysql,Django==3.2.8,pillow 使用pip install 安装

第一步:创建数据库

第二步:执行SQL语句,.sql文件,运行该文件中的SQL语句

第三步:修改源代码中的settings.py文件,改成自己的mysql数据库用户名和密码

第四步:运行命令:python manage.py runserver 8000

第五步:打开浏览器查看http://127.0.0.1:8000

毕设帮助,指导,本源码分享,调试部署(见文末)

系统简介

图书馆管理系统是一个基于Django框架和Python语言开发的信息化管理系统,旨在提高图书馆信息管理的效率和准确性。系统通过互联网技术,实现了对图书馆信息的全面管理,包括图书信息管理、借阅信息管理、归还信息管理、续借信息管理、罚金信息管理、留言板管理等功能模块。

整体功能包含:
  • 图书信息管理
  • 借阅信息管理
  • 归还信息管理
  • 续借信息管理
  • 罚金信息管理
  • 留言板管理
  • 用户管理
  • 系统管理
前台模块:
  • 图书馆信息展示
  • 图书信息浏览
  • 用户注册与登录
  • 借阅信息查询
  • 个人中心
  • 留言板浏览
后台模块:
  • 用户管理:用户信息的增删改查
  • 图书信息管理:图书信息的增删改查
  • 借阅信息管理:借阅信息的增删改查
  • 归还信息管理:归还信息的增删改查
  • 续借信息管理:续借信息的审核与查询
  • 罚金信息管理:罚金信息的增删改查
  • 留言板管理:留言信息的审核与查询
  • 系统管理:系统配置的查看与修改

页面展示

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

代码实现:

系统配置


INSTALLED_APPS = [
    ...
    'myapp', 
]

DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.mysql',
        'NAME': '_database_name',         
        'USER': '_mysql_username',       
        'PASSWORD': '_mysql_password',   
        'HOST': 'localhost',                
        'PORT': '3306',
    }
}

from django.db import models

class Book(models.Model):
    title = models.CharField(max_length=200)
    author = models.CharField(max_length=200)
    quantity = models.IntegerField()
    location = models.CharField(max_length=200)
    summary = models.TextField()

    def __str__(self):
        return self.title

总结:

通过本项目的设计与实现,我们成功构建了一个功能完备的图书馆管理系统。该系统不仅提高了图书馆管理的效率,而且通过权限控制确保了数据的安全性。系统的用户界面友好,操作简便,能够满足图书馆日常的信息管理需求。

源码获取:

私信获取

以下是一个基于 Python + Django + MySQL 的图书信息管理系统的代码示例: 1. 创建 Django 项目 ```bash django-admin startproject book_management_system ``` 2. 创建 Django 应用 ```bash cd book_management_system python manage.py startapp book ``` 3. 配置 MySQL 数据库连接 在 `book_management_system/settings.py` 文件中添加以下内容: ```python DATABASES = { 'default': { 'ENGINE': 'django.db.backends.mysql', 'NAME': 'book_db', 'USER': 'root', 'PASSWORD': 'password', 'HOST': '127.0.0.1', 'PORT': '3306', } } ``` 其中,`book_db` 是数据库名称,`root` 和 `password` 分别是 MySQL 的用户名和密码。 4. 创建图书信息模型 在 `book/models.py` 文件中添加以下内容: ```python from django.db import models class Book(models.Model): title = models.CharField(max_length=100) author = models.CharField(max_length=50) publisher = models.CharField(max_length=50) pub_date = models.DateField() price = models.DecimalField(max_digits=10, decimal_places=2) create_time = models.DateTimeField(auto_now_add=True) update_time = models.DateTimeField(auto_now=True) def __str__(self): return self.title ``` 其中,`Book` 是图书信息模型,包含了图书的标题、作者、出版社、出版日期、价格、创建时间和更新时间等字段。 5. 创建图书信息视图 在 `book/views.py` 文件中添加以下内容: ```python from django.shortcuts import render from django.http import HttpResponseRedirect from .models import Book def book_list(request): books = Book.objects.all() return render(request, 'book_list.html', {'books': books}) def book_detail(request, book_id): book = Book.objects.get(id=book_id) return render(request, 'book_detail.html', {'book': book}) def book_create(request): if request.method == 'POST': title = request.POST.get('title') author = request.POST.get('author') publisher = request.POST.get('publisher') pub_date = request.POST.get('pub_date') price = request.POST.get('price') Book.objects.create(title=title, author=author, publisher=publisher, pub_date=pub_date, price=price) return HttpResponseRedirect('/book/') else: return render(request, 'book_create.html') def book_update(request, book_id): book = Book.objects.get(id=book_id) if request.method == 'POST': book.title = request.POST.get('title') book.author = request.POST.get('author') book.publisher = request.POST.get('publisher') book.pub_date = request.POST.get('pub_date') book.price = request.POST.get('price') book.save() return HttpResponseRedirect('/book/') else: return render(request, 'book_update.html', {'book': book}) def book_delete(request, book_id): book = Book.objects.get(id=book_id) book.delete() return HttpResponseRedirect('/book/') ``` 其中,`book_list` 函数用于列出所有图书信息,`book_detail` 函数用于查看单个图书信息,`book_create` 函数用于创建新的图书信息,`book_update` 函数用于更新已有的图书信息,`book_delete` 函数用于删除图书信息。 6. 创建图书信息模板 在 `book/templates/` 目录下创建以下模板文件: `book_list.html`: ```html <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>图书信息管理系统</title> </head> <body> <h1>图书信息列表</h1> <table> <thead> <tr> <th>ID</th> <th>标题</th> <th>作者</th> <th>出版社</th> <th>出版日期</th> <th>价格</th> <th>创建时间</th> <th>更新时间</th> <th>操作</th> </tr> </thead> <tbody> {% for book in books %} <tr> <td>{{ book.id }}</td> <td>{{ book.title }}</td> <td>{{ book.author }}</td> <td>{{ book.publisher }}</td> <td>{{ book.pub_date }}</td> <td>{{ book.price }}</td> <td>{{ book.create_time }}</td> <td>{{ book.update_time }}</td> <td> <a href="{% url 'book_detail' book.id %}">查看</a> <a href="{% url 'book_update' book.id %}">编辑</a> <a href="{% url 'book_delete' book.id %}">删除</a> </td> </tr> {% endfor %} </tbody> </table> <a href="{% url 'book_create' %}">添加图书</a> </body> </html> ``` `book_detail.html`: ```html <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>图书信息管理系统</title> </head> <body> <h1>图书信息详情</h1> <ul> <li>ID:{{ book.id }}</li> <li>标题:{{ book.title }}</li> <li>作者:{{ book.author }}</li> <li>出版社:{{ book.publisher }}</li> <li>出版日期:{{ book.pub_date }}</li> <li>价格:{{ book.price }}</li> <li>创建时间:{{ book.create_time }}</li> <li>更新时间:{{ book.update_time }}</li> </ul> <a href="{% url 'book_list' %}">返回列表</a> </body> </html> ``` `book_create.html`: ```html <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>图书信息管理系统</title> </head> <body> <h1>添加图书</h1> <form method="post"> {% csrf_token %} <label>标题:<input type="text" name="title"></label><br> <label>作者:<input type="text" name="author"></label><br> <label>出版社:<input type="text" name="publisher"></label><br> <label>出版日期:<input type="date" name="pub_date"></label><br> <label>价格:<input type="text" name="price"></label><br> <button type="submit">添加</button> </form> <a href="{% url 'book_list' %}">返回列表</a> </body> </html> ``` `book_update.html`: ```html <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>图书信息管理系统</title> </head> <body> <h1>编辑图书</h1> <form method="post"> {% csrf_token %} <label>标题:<input type="text" name="title" value="{{ book.title }}"></label><br> <label>作者:<input type="text" name="author" value="{{ book.author }}"></label><br> <label>出版社:<input type="text" name="publisher" value="{{ book.publisher }}"></label><br> <label>出版日期:<input type="date" name="pub_date" value="{{ book.pub_date }}"></label><br> <label>价格:<input type="text" name="price" value="{{ book.price }}"></label><br> <button type="submit">保存</button> </form> <a href="{% url 'book_list' %}">返回列表</a> </body> </html> ``` 7. 配置 URL 路由 在 `book/urls.py` 文件中添加以下内容: ```python from django.urls import path from . import views urlpatterns = [ path('', views.book_list, name='book_list'), path('<int:book_id>/', views.book_detail, name='book_detail'), path('create/', views.book_create, name='book_create'), path('<int:book_id>/update/', views.book_update, name='book_update'), path('<int:book_id>/delete/', views.book_delete, name='book_delete'), ] ``` 其中,`book_list` 对应图书信息列表页,`book_detail` 对应图书信息详情页,`book_create` 对应添加图书信息页,`book_update` 对应编辑图书信息页,`book_delete` 对应删除图书信息的操作。 8. 启动 Django 项目 ```bash python manage.py runserver ``` 打开浏览器访问 [http://127.0.0.1:8000/book/](http://127.0.0.1:8000/book/) 即可访问图书信息管理系统。 希望以上代码能对你有所帮助!
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值