当前位置: 首页 > news >正文

中山石岐网站建设太原市一页网络科技有限公司

中山石岐网站建设,太原市一页网络科技有限公司,推广任务发布平台app,手机界面app界面设计分析Django 5.2.3 构建的图书管理系统 下面是一个使用 Django 5.2.3 构建的图书管理系统实现方案,包含模型设计、后台管理、基本视图和模板: 1. 环境准备 安装部分请先看 Django 5 学习笔记总纲-CSDN博客 安装部分 pip install django5.2.3 django-admin s…

Django 5.2.3 构建的图书管理系统

下面是一个使用 Django 5.2.3 构建的图书管理系统实现方案,包含模型设计、后台管理、基本视图和模板:

 1. 环境准备

安装部分请先看

Django 5 学习笔记总纲-CSDN博客 安装部分


pip install django==5.2.3
django-admin startproject library
cd library
python manage.py startapp books

2. 模型设计 (`books/models.py`)


from django.db import models
from django.urls import reverseclass Author(models.Model):name = models.CharField(max_length=100)birth_date = models.DateField(null=True, blank=True)bio = models.TextField(blank=True)def __str__(self):return self.namedef get_absolute_url(self):return reverse('author_detail', args=[str(self.id)])class Book(models.Model):GENRE_CHOICES = [('FIC', '小说'),('SCI', '科幻'),('HOR', '恐怖'),('HIS', '历史'),('BIO', '传记'),]title = models.CharField(max_length=200)author = models.ForeignKey(Author, on_delete=models.CASCADE, related_name='books')isbn = models.CharField('ISBN', max_length=13, unique=True)genre = models.CharField(max_length=3, choices=GENRE_CHOICES)publish_date = models.DateField()stock = models.PositiveIntegerField(default=0)description = models.TextField(blank=True)def __str__(self):return f"{self.title} ({self.author.name})"def get_absolute_url(self):return reverse('book_detail', args=[str(self.id)])

3. 后台管理配置 (`books/admin.py`)


from django.contrib import admin
from .models import Author, Book@admin.register(Author)
class AuthorAdmin(admin.ModelAdmin):list_display = ('name', 'birth_date')search_fields = ('name',)date_hierarchy = 'birth_date'@admin.register(Book)
class BookAdmin(admin.ModelAdmin):list_display = ('title', 'author', 'genre', 'stock')list_filter = ('genre', 'publish_date')search_fields = ('title', 'isbn', 'author__name')raw_id_fields = ('author',)date_hierarchy = 'publish_date'ordering = ('-publish_date',)

4. URL 配置 (`library/urls.py`)

4.1urls.py


from django.contrib import admin
from django.urls import path, include
from books import viewsurlpatterns = [path('admin/', admin.site.urls),path('books/', include('books.urls')),
]

4.2创建 `books/urls.py`


from django.urls import path
from . import viewsurlpatterns = [path('', views.BookListView.as_view(), name='book_list'),path('<int:pk>/', views.BookDetailView.as_view(), name='book_detail'),path('authors/', views.AuthorListView.as_view(), name='author_list'),path('authors/<int:pk>/', views.AuthorDetailView.as_view(), name='author_detail'),
]

5. 视图实现 (`books/views.py`)

```python
from django.views.generic import ListView, DetailView
from .models import Book, Authorclass BookListView(ListView):model = Booktemplate_name = 'books/book_list.html'context_object_name = 'books'paginate_by = 10def get_queryset(self):queryset = super().get_queryset()# 添加搜索功能if 'search' in self.request.GET:search_term = self.request.GET['search']queryset = queryset.filter(title__icontains=search_term)return querysetclass BookDetailView(DetailView):model = Booktemplate_name = 'books/book_detail.html'class AuthorListView(ListView):model = Authortemplate_name = 'books/author_list.html'context_object_name = 'authors'class AuthorDetailView(DetailView):model = Authortemplate_name = 'books/author_detail.html'def get_context_data(self, **kwargs):context = super().get_context_data(**kwargs)context['books'] = self.object.books.all()return context
```

6. 模板文件

`templates/books/book_list.html`:

<!DOCTYPE html>
<html>
<head><title>图书列表</title>
</head>
<body><h1>图书管理系统</h1><form method="get"><input type="text" name="search" placeholder="搜索书名..."><button type="submit">搜索</button></form><ul>{% for book in books %}<li><a href="{{ book.get_absolute_url }}">{{ book.title }}</a>({{ book.author.name }}) - 库存: {{ book.stock }}</li>{% endfor %}</ul>{% include "pagination.html" %}
</body>
</html>

templates/books/book_detail.html

<!DOCTYPE html>
<html>
<head><title>{{ book.title }}</title>
</head>
<body><h1>{{ book.title }}</h1><p>Author: {{ book.author }}</p><p>Publication date: {{ book.publication_date }}</p>
</body>
</html>

http://www.yayakq.cn/news/588771/

相关文章:

  • 网站自适应开发一级消防工程师
  • 做网站的都是直男癌吗做网站的视频教学
  • 做远程培训网站用什么系统樱桃企业网站管理系统v1.1-cms
  • 如何制作一个网站包含多个网页阿里云备案 网站备案域名
  • 视频网站开发的论文网站建设需求分析酒类
  • 微站和pc网站私人订制网站推荐
  • wordpress头像尺寸合肥百度推广优化
  • 网站后台怎么更新网站设计策划书方案
  • 阿里巴巴做国际网站多少钱模板做图 网站
  • 企业进行网站建设的方式网络推广是什么工作
  • 沈阳微信网站上海装潢设计
  • 制作网站用什么软件有哪些企业管理培训课程免费视频
  • 无障碍网站建设推广前景郑州网站建设网站
  • 怎么把网站源码上传到空间根目录视频博客网站做外贸可以吗
  • 如何建设一个网站站哪个网站可以免费设计房子
  • 威海市建设工程协会网站跨境电商好做吗
  • 域名空间有了怎么做网站东莞网络推广系统
  • 宁波h5建站大业推广网站
  • 建网站能多少带宽wordpress怎么删回复
  • 北京网站域名快速备案wordpress主题添加右边栏
  • 如何查看网站用什么代码做的怎么认证网站
  • 社区网站模板pw域名网站
  • 广州 电商网站建设金湖做网站
  • 校园网站建设管理制度网站建设培训多少钱
  • 手机上自己做网站吗个人网站开发模式
  • 电子商务网站的设计与实现做电商网站有什语言好
  • 网站怎么企业备案信息asp网站开发源码
  • 做中介开什么网站wordpress 4.9.1 教程
  • 做视频用的网站有哪些更改wordpress最大文件
  • 设计师网站十大网站排名网站后台密码文件