pip install django-material-admin
- 1. Add "django-material-admin" to your INSTALLED_APPS setting like this:
- required
INSTALLED_APPS = (
...,
'material.admin',
'django.contrib.admin',
...,
)
- 2. Include the material templates URLconf in your project urls.py like this:
- required
from django.contrib.staticfiles.templatetags.staticfiles import static as staticfiles
from django.urls import path, include
from django.utils.translation import ugettext_lazy as _
from material.admin.sites import site
site.site_header = _('Your site header')
site.site_title = _('Your site title')
site.favicon = staticfiles('path/to/favicon')
urlpatterns = [
path('admin/', include('material.admin.urls')),
]
- 3. Register your models and extend Admin config from MaterialModelAdmin
- optional
from material.admin.decorators import register
from material.admin.options import MaterialModelAdmin
from persons.models import Person
@register(Person)
class PersonAdmin(MaterialModelAdmin):
list_display = ('name', 'first_name', 'last_name')
or
from material.admin.options import MaterialModelAdmin
from material.admin.sites import site
from persons.models import Person
class PersonAdmin(MaterialModelAdmin):
list_display = ('name', 'first_name', 'last_name')
site.register(Person)
- 4. If you want to hide default registered models, they can be unregistered:
- optional
from material.admin.sites import site
from django.contrib.auth.models import User, Group
site.unregister(User)
site.unregister(Group)
5. Add icon to the application in app.py https://materializecss.com/icons.html - optional
from django.apps import AppConfig
class PersonsConfig(AppConfig):
name = 'persons'
icon_name = 'person'
- 6. Add icon to the MaterialModelAdmin in admin.py
- optional
from material.admin.options import MaterialModelAdmin
from material.admin.decorators import register
from persons.models import Person
@register(Person)
class MaterialPersonAdmin(MaterialModelAdmin):
icon_name = 'person'
- 7. In order to add and manage the profile picture, this template can be added.
- optional
Extend User model as OneToOne relation or extend AbstractUser and set new AUTH_USER_MODEL.
MEDIA should be configured properly.
- Install Django
- Install Django-material-admin
- Register models for material administration interface