📅  最后修改于: 2023-12-03 15:00:26.236000             🧑  作者: Mango
Django Admin 是用于管理 Django 应用程序的内置应用程序。它允许您轻松地创建,读取,更新和删除(CRUD)数据库中的记录。为了使用 Django Admin,您需要从 django.contrib.admin
导入一些类和函数,并将其添加到您的应用程序中。
以下是在 Django Admin 中使用的一些常见装饰器:
admin.site.register()
admin.site.register()
装饰器允许您将一个模型注册在 Django Admin 中。它需要两个参数:您要注册的模型和一个可选的 admin.ModelAdmin
子类。这个子类可以用于自定义显示在 Django Admin 的字段、过滤器和搜索字段等。
from django.contrib import admin
from .models import MyModel
@admin.register(MyModel)
class MyModelAdmin(admin.ModelAdmin):
list_display = ('id', 'name', 'created_at')
search_fields = ('name',)
ordering = ('-created_at',)
@admin.action
@admin.action
装饰器可以添加自定义动作到 Django Admin 列表页面的顶部操作。动作方法以选择的模型记录列表作为参数,并返回一个 HttpResponse 对象。
from django.contrib import admin
from .models import MyModel
@admin.register(MyModel)
class MyModelAdmin(admin.ModelAdmin):
# ...
@admin.action(description='Delete selected objects')
def delete_selected(self, request, queryset):
queryset.delete()
@admin.display
@admin.display
装饰器可以添加一个自定义字段到 Django Admin 的列表页面。
from django.contrib import admin
from .models import MyModel
@admin.register(MyModel)
class MyModelAdmin(admin.ModelAdmin):
# ...
@admin.display(description='Upper Name')
def upper_name(self, obj):
return obj.name.upper()
@admin.register
@admin.register
装饰器可以使用更简单的语法来注册模型,并为模型自动创建 admin.ModelAdmin
子类。这个装饰器本质上是 admin.site.register()
方法的语法糖。
from django.contrib import admin
from .models import MyModel
@admin.register(MyModel)
class MyModelAdmin(admin.ModelAdmin):
# ...
这些是在 Django Admin 中使用的一些常见装饰器。使用这些装饰器,您可以轻松地扩展和自定义 Django Admin 以适应您的应用程序的需求。
以下是在 Django Admin 中使用的一些常见装饰器:
## `admin.site.register()`
`admin.site.register()` 装饰器允许您将一个模型注册在 Django Admin 中。它需要两个参数:您要注册的模型和一个可选的 `admin.ModelAdmin` 子类。这个子类可以用于自定义显示在 Django Admin 的字段、过滤器和搜索字段等。
```python
from django.contrib import admin
from .models import MyModel
@admin.register(MyModel)
class MyModelAdmin(admin.ModelAdmin):
list_display = ('id', 'name', 'created_at')
search_fields = ('name',)
ordering = ('-created_at',)
@admin.action
@admin.action
装饰器可以添加自定义动作到 Django Admin 列表页面的顶部操作。动作方法以选择的模型记录列表作为参数,并返回一个 HttpResponse 对象。
from django.contrib import admin
from .models import MyModel
@admin.register(MyModel)
class MyModelAdmin(admin.ModelAdmin):
# ...
@admin.action(description='Delete selected objects')
def delete_selected(self, request, queryset):
queryset.delete()
@admin.display
@admin.display
装饰器可以添加一个自定义字段到 Django Admin 的列表页面。
from django.contrib import admin
from .models import MyModel
@admin.register(MyModel)
class MyModelAdmin(admin.ModelAdmin):
# ...
@admin.display(description='Upper Name')
def upper_name(self, obj):
return obj.name.upper()
@admin.register
@admin.register
装饰器可以使用更简单的语法来注册模型,并为模型自动创建 admin.ModelAdmin
子类。这个装饰器本质上是 admin.site.register()
方法的语法糖。
from django.contrib import admin
from .models import MyModel
@admin.register(MyModel)
class MyModelAdmin(admin.ModelAdmin):
# ...
这些是在 Django Admin 中使用的一些常见装饰器。使用这些装饰器,您可以轻松地扩展和自定义 Django Admin 以适应您的应用程序的需求。