sit0 / django-material-admin

Material design for django administration

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

pypi python django

Django Material Administration

image

Quick start

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

image

Extend User model as OneToOne relation or extend AbstractUser and set new AUTH_USER_MODEL.

MEDIA should be configured properly.

Video instructions

|

  • Install Django

image

|

  • Install Django-material-admin

image

|

  • Register models for material administration interface

image

About

Material design for django administration

License:MIT License


Languages

Language:HTML 32.8%Language:Python 26.5%Language:JavaScript 23.5%Language:CSS 17.0%Language:Dockerfile 0.3%