📜  django admin 所需的装饰器 - Python (1)

📅  最后修改于: 2023-12-03 15:00:26.236000             🧑  作者: Mango

Django Admin 所需的装饰器

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 以适应您的应用程序的需求。