Django核心管理模块在实际项目中的应用案例分享
发布时间:2023-12-26 21:24:51
在实际项目中,Django核心管理模块被广泛应用于管理后台,它提供了一套完整的界面和功能来管理数据库中的数据。下面是一个应用案例的分享,包含一个使用示例:
假设我们正在开发一个图书管理系统,需要管理图书信息和借阅记录。我们可以使用Django的核心管理模块来管理这些数据。
首先,创建一个Django项目并初始化数据库。
$ django-admin startproject book_management $ cd book_management $ python manage.py migrate
然后,创建一个应用。
$ python manage.py startapp books
接下来,定义图书和借阅记录的模型。
# books/models.py
from django.db import models
class Book(models.Model):
title = models.CharField(max_length=100)
author = models.CharField(max_length=100)
publication_date = models.DateField()
class BorrowRecord(models.Model):
book = models.ForeignKey(Book, on_delete=models.CASCADE)
borrower = models.CharField(max_length=100)
borrow_date = models.DateField()
return_date = models.DateField()
然后,注册模型到Django管理后台。
# books/admin.py from django.contrib import admin from .models import Book, BorrowRecord admin.site.register(Book) admin.site.register(BorrowRecord)
现在,我们可以运行开发服务器并访问Django管理后台。
$ python manage.py runserver
在浏览器中访问http://localhost:8000/admin,你将看到一个登录界面。创建一个超级用户以便登录。
$ python manage.py createsuperuser
然后使用创建的超级用户登录到管理后台。
现在,你可以在管理后台中管理图书信息和借阅记录。你可以添加、编辑和删除图书,并查看和搜索借阅记录。
除了基本的增删改查功能,Django管理模块还提供了其他一些功能,如支持分页、过滤器、自定义显示字段、导出数据等。
在图书管理系统案例中,我们可以添加一个自定义的列表显示字段,用来显示图书的剩余可借数量。首先,在模型中添加相关字段和方法:
# books/models.py
from django.db import models
class Book(models.Model):
title = models.CharField(max_length=100)
author = models.CharField(max_length=100)
publication_date = models.DateField()
total_copies = models.IntegerField()
available_copies = models.IntegerField(default=0)
def save(self, *args, **kwargs):
self.available_copies = self.total_copies - BorrowRecord.objects.filter(book=self).count()
super().save(*args, **kwargs)
然后,在管理模块中定义自定义显示字段:
# books/admin.py
from django.contrib import admin
from django.utils.html import format_html
from .models import Book, BorrowRecord
class BookAdmin(admin.ModelAdmin):
list_display = ('title', 'author', 'publication_date', 'total_copies', 'available_copies')
admin.site.register(Book, BookAdmin)
admin.site.register(BorrowRecord)
现在,在管理后台中,你将看到图书列表显示了剩余可借数量。
以上是一个使用Django核心管理模块的应用案例分享,通过这个例子,你可以看到Django管理模块的强大功能和灵活性,它能帮助我们快速构建一个功能完善的管理后台。
