ModelAdmin2¶
The ModelAdmin2 class is the representation of a model in the admin interface. These are stored in a file named admin2.py in your application. Let’s take a look at a very simple example of the ModelAdmin2:
from .models import Post
from djadmin2.site import djadmin2_site
from djadmin2.types import ModelAdmin2
class PostAdmin(ModelAdmin2):
pass
djadmin2_site.register(Post, PostAdmin)
Adding a new view¶
To add a new view to a ModelAdmin2, it’s need add an attribute that is an instance of the views.AdminView.
The view.AdminView takes tree parameters: url, view and name. The url is expected a string for the url pattern for your view. The view is expected a view and name is an optional parameter and is expected a string that is the name of your view.
from .models import Post
from djadmin2 import views
from djadmin2.site import djadmin2_site
from djadmin2.types import ModelAdmin2
class PostAdmin(ModelAdmin2):
preview_post = views.AdminView(r'^preview/$', views.PreviewPostView)
djadmin2_site.register(Post, PostAdmin)
Replacing an existing view¶
To replacing an existing admin view, it’s need add an attribute with the same name that the view that you want replace:
from .models import Post
from djadmin2 import views
from djadmin2.site import djadmin2_site
from djadmin2.types import ModelAdmin2
class PostAdmin(ModelAdmin2):
create_view = views.AdminView(r'^create/$', views.MyCustomCreateView)
djadmin2_site.register(Post, PostAdmin)