使用@ admin.register装饰器在Django Admin中记录类

bga*_*ial 1 decorator django-admin python-3.x django-1.8

我正在测试新@admin.register装饰器,这是Django 1.7的一个新功能.我目前正在使用Django 1.8.2和Python 3,并且发生了以下关于@admin.register装饰器的情况:

在我的admin.py档案中,我有:

from django.contrib import admin
from .models import Track

# Register your models here.
@admin.register(Track)
class TrackAdmin(admin.ModelAdmin):
    list_display = ('title','artist')
Run Code Online (Sandbox Code Playgroud)

当我尝试时,我http://localhost:8000/admin/在浏览器中获得以下输出:

AttributeError的

现在,当我使用admin.site.register(Track,TrackAdmin)这是django管理员中传统的注册模型和类的方式时,发生在我身上

from django.contrib import admin
from .models import Track


# Register your models here.

class TrackAdmin(admin.ModelAdmin):
    list_display = ('title','artist')

admin.site.register(Track,TrackAdmin)
Run Code Online (Sandbox Code Playgroud)

如何使用@ admin.register装饰器一起记录类? (Track and TrackAdmin)

非常感谢.:)

小智 8

请参阅以下参考:https: //docs.djangoproject.com/en/1.8/ref/contrib/admin/

将你的装饰者@ admin.register(Track)放在你的课程之前作为"糖"或它的包装.

from django.contrib import admin
from .models import Track

# Register your models here

@admin.register(Track)
class TrackAdmin(admin.ModelAdmin):
    list_display = ('title','artist')
Run Code Online (Sandbox Code Playgroud)