django-non-dark-admin

Disable dark mode in Django admin user interface in Django 3.2.x.


Keywords
django, admin, dark, fix
License
BSD-3-Clause
Install
pip install django-non-dark-admin==2.0.2

Documentation

Django Non Dark Admin

Disable or enable dark mode user interface in Django admin panel (Django==3.2).

Installation

For install this app run in terminal:

pip install django-non-dark-admin

Configuration for all users

Add ''django_non_dark_admin'' to your INSTALLED_APPS settings. This is must be added BEFORE ''django.contrib.admin''.

Set ''DISABLE_DARK_MODE = True'' in your settings module to disable dark mode in admin panel user interface to all users.

Configuration per user

To have the theme configured as a user preference you will need to have a custom user model (model configured in settings.AUTH_USER_MODEL) as described in Django documentation:

Add a boolean field disable_dark_mode to your custom user model:

disable_dark_mode = models.BooleanField(
    verbose_name="Django Admin Theme",
    default=False choices=((False, "Dark"),
    (True, "Light")),
    null=True
)

After adding the field, run:

python manage.py makemigrations

It should generate a migration like this:

# Generated by Django 3.2.9 on 2021-12-27 19:17

from django.db import migrations, models


class Migration(migrations.Migration):

    dependencies = [
        ("app_for_the_auth_custom_model", "0XXX_previous_migration"),
    ]

    operations = [
        migrations.AddField(
            model_name="<Your Custom Auth User model>",
            name="disable_dark_mode",
            field=models.BooleanField(
                choices=[(False, "Dark"), (True, "Light")],
                default=False,
                null=True,
            ),
        ),
    ]

Run the migration:

python manage.py migrate

And the field will be added to your AUTH_USER_MODEL.

Go to the Django admin for your custom user model and add the field to be editable.

License

Licensed under BSD license. See license link in documentation.