好的,以下是一个Django Admin 管理工具学习笔记的示例:

Django Admin 管理工具学习笔记

介绍

Django Admin 是一个内置的管理界面,让开发者可以轻松地管理应用程序、数据库等内容。它是基于模型的,这意味着用户只需定义好模型,即可使用Django Admin对其进行管理。

获取管理员权限

为了能够进入Django Admin界面,需要先获取相应的管理员权限。在Django中,默认情况下,只有超级用户才能访问Django Admin。

pythonCopy Code
from django.contrib.auth.decorators import user_passes_test @user_passes_test(lambda u: u.is_superuser) def my_view(request): # 只有超级用户能够进入此视图 ...

注册模型

要使用Django Admin管理模型,需要将其注册到Admin中。

pythonCopy Code
from django.contrib import admin from .models import MyModel admin.site.register(MyModel)

自定义模型管理

通过继承admin.ModelAdmin类,可以自定义模型管理器的行为。例如,可以定义自定义模板和过滤器。

pythonCopy Code
class MyModelAdmin(admin.ModelAdmin): list_display = ('name', 'email', 'phone_number') list_filter = ('created_at',) admin.site.register(MyModel, MyModelAdmin)

自定义表单

Django Admin默认会为每个模型生成一个表单,但是它也允许开发者自定义表单。

pythonCopy Code
class MyModelForm(forms.ModelForm): class Meta: model = MyModel fields = ('name', 'email', 'phone_number') class MyModelAdmin(admin.ModelAdmin): form = MyModelForm admin.site.register(MyModel, MyModelAdmin)

实例

以下是一个简单的示例,展示了如何使用Django Admin管理Product模型。

models.py

pythonCopy Code
from django.db import models class Product(models.Model): name = models.CharField(max_length=255) price = models.DecimalField(max_digits=8, decimal_places=2) created_at = models.DateTimeField(auto_now_add=True) def __str__(self): return self.name

admin.py

pythonCopy Code
from django.contrib import admin from .models import Product class ProductAdmin(admin.ModelAdmin): list_display = ('name', 'price', 'created_at') list_filter = ('created_at',) date_hierarchy = 'created_at' search_fields = ('name',) admin.site.register(Product, ProductAdmin)

通过以上配置,我们可以实现对产品进行管理,包括按名称和创建日期搜索产品,按创建日期过滤产品,以及按创建日期进行分层次显示。