Skip to content

armandtvz/django-theme

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

6 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

django-theme

Allow a Django user to set a theme preference.

Quickstart

  1. Install django-theme via pip:

    pip install django-theme
    
  2. Add theme to your INSTALLED_APPS in your project settings.py file:

    INSTALLED_APPS = [
        '...',
        'theme',
    ]
  3. Run migrate:

    python manage.py migrate
    
  4. Add the following to your context_processors setting:

    TEMPLATES = [
        {
            'BACKEND': '...',
            'OPTIONS': {
                'context_processors': [
                    '...',
                    '...',
                    'theme.context_processors.theme',
                ],
            },
        },
    ]
  5. In your template, you can then use the following snippet (theme options are 'system', 'dark' and 'light'):

    <body class="{% spaceless %}
            {% if theme == 'dark' %}
                    dark-theme
            {% endif %}
    {% endspaceless %}">
    
  6. The Theme model defines a one-to-one relationship with the User model. Therefore, the theme object for a user can be retrieved by using:

    theme = user.theme

Compatibility

  • Compatible with Python 3.8 and above.
  • Compatible with Django 3.2 and above.

Versioning

This project follows semantic versioning (SemVer).

License and code of conduct

Check the root of the repo for these files.

About

Allow a user to set a theme preference.

Topics

Resources

License

Code of conduct

Stars

Watchers

Forks

Packages

No packages published

Languages