基于Python+Django,这款在线图书管理系统真的很清爽!

学习过程中,遇到问题可以咨询作者

基于Python+Django,打造一款在线图书管理系统,真的很清爽!

在这里插入图片描述

功能介绍

平台采用B/S结构,后端采用主流的Python语言进行开发,前端采用主流的Vue.js进行开发。

整个平台包括前台和后台两个部分。

  • 前台功能包括:首页、图书详情页、用户中心模块。
  • 后台功能包括:总览、借阅管理、图书管理、分类管理、标签管理、评论管理、用户管理、运营管理、日志管理、系统信息模块。

代码结构

  • bookproject目录是后端代码
  • web目录是前端代码

部署运行

后端运行步骤

(1) 安装python 3.8

(2) 安装依赖。进入bookproject目录下,执行 pip install -r requirements.txt

(3) 安装mysql 5.7数据库,并创建数据库,命名为book,创建SQL如下:

CREATE DATABASE IF NOT EXISTS book DEFAULT CHARSET utf8 COLLATE utf8_general_ci

(4) 恢复SQL数据。在cmd命令行执行如下命令:

mysql> use book;
mysql> source xxx/xxx.sql

(5) 启动django服务。在bookproject目录下执行:

python manage.py runserver
前端运行步骤

(1) 安装node 16.14

(2) 进入web目录下,安装依赖,执行:

npm install 

(3) 运行项目

npm run serve

界面预览

首页

首页

后台首页

后台首页

后台借阅管理

后台借阅管理

源码获取

获取前记得收藏、点赞支持一下。

方式①、微信搜索公众号:Python学习与数据挖掘,后台回复:在线图书管理系统
方式②、添加微信号:dkl88194,备注:来自CSDN +在线图书管理系统

毕设/大作业系列

代码展示

#!/usr/bin/env python
"""Django's command-line utility for administrative tasks."""
import os
import sys


def main():
    """Run administrative tasks."""
    os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'bookproject.settings')
    try:
        from django.core.management import execute_from_command_line
    except ImportError as exc:
        raise ImportError(
            "Couldn't import Django. Are you sure it's installed and "
            "available on your PYTHONPATH environment variable? Did you "
            "forget to activate a virtual environment?"
        ) from exc
    execute_from_command_line(sys.argv)


if __name__ == '__main__':
    main()
"""bookproject URL Configuration

The `urlpatterns` list routes URLs to views. For more information please see:
    https://docs.djangoproject.com/en/4.1/topics/http/urls/
Examples:
Function views
    1. Add an import:  from my_app import views
    2. Add a URL to urlpatterns:  path('', views.home, name='home')
Class-based views
    1. Add an import:  from other_app.views import Home
    2. Add a URL to urlpatterns:  path('', Home.as_view(), name='home')
Including another URLconf
    1. Import the include() function: from django.urls import include, path
    2. Add a URL to urlpatterns:  path('blog/', include('blog.urls'))
"""
from django.conf.urls.static import static
from django.contrib import admin
from django.urls import path, include

from bookproject import settings

urlpatterns = [
    path('admin/', admin.site.urls),
    path('myapp/', include('myapp.urls')),
] + static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)
  • 13
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
以下是一个基于 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、付费专栏及课程。

余额充值