Django中Admin()模块的使用教程
Django的Admin模块是Django提供的一种快速建立后台管理系统的方式,它提供了自动生成管理界面和处理常见管理操作的功能,可以大大减少开发后台管理系统的时间和工作量。
Admin模块的使用步骤如下:
1. 创建一个Django项目并启动开发服务器:
$ django-admin startproject myproject $ cd myproject $ python manage.py runserver
2. 创建一个应用:
$ python manage.py startapp myapp
3. 在Django项目的settings.py文件中注册应用:
INSTALLED_APPS = [
...
'django.contrib.admin',
'myapp',
...
]
4. 在myapp目录下的models.py文件中定义需要管理的模型:
from django.db import models
class Article(models.Model):
title = models.CharField(max_length=100)
content = models.TextField()
created_at = models.DateTimeField(auto_now_add=True)
5. 在myapp目录下的admin.py文件中注册要管理的模型:
from django.contrib import admin from .models import Article admin.site.register(Article)
现在,就可以运行开发服务器,并在浏览器中访问http://localhost:8000/admin/来进入后台管理系统。
在后台管理系统中,可以进行以下操作:
1. 创建、编辑和删除文章对象。
2. 搜索和过滤文章列表。
3. 对文章进行排序。
4. 对文章进行批量操作,如删除多个文章。
5. 对文章进行分页展示。
Admin模块还提供了自定义选项来扩展和定制管理界面的功能。
下面是一个使用Admin模块的示例代码:
from django.db import models
from django.contrib import admin
class Article(models.Model):
title = models.CharField(max_length=100)
content = models.TextField()
created_at = models.DateTimeField(auto_now_add=True)
def __str__(self):
return self.title
class Meta:
ordering = ['-created_at']
class ArticleAdmin(admin.ModelAdmin):
list_display = ['title', 'created_at']
search_fields = ['title']
list_filter = ['created_at']
date_hierarchy = 'created_at'
actions = ['make_published']
def make_published(self, request, queryset):
queryset.update(status='published')
make_published.short_description = "标记为已发布"
admin.site.register(Article, ArticleAdmin)
在这个例子中,我们自定义了Article模型的管理选项(ArticleAdmin),通过指定list_display、search_fields、list_filter、date_hierarchy等选项,定制了管理界面中展示的字段、搜索和过滤选项、按日期分层等功能。同时,还自定义了一个批量操作make_published,用于将选中的文章标记为已发布。
需要注意的是,在实际使用中,可以根据需求对Admin模块进行更多的自定义,包括自定义表单、自定义模板、自定义权限等。
总结起来,Django的Admin模块是一种强大且灵活的后台管理系统解决方案,通过简单的配置和少量的代码,就可以快速地建立起一个功能完善的后台管理系统,提高开发效率。
