Skip to main content
Join the official 2019 Python Developers SurveyStart the survey!

Complete solution for theming your django site.

Project description

Django Theming

PyPI Travis Codecov Supported Python versions License

The Django Theming is a standalone theming solution for django sites. You can use it customize the look and feel of any of your django site.

Overview

Django theming provides a way for django sites owners to customize the look and feel of django sites without having to alter the code of the base site.

Installation

Install using pip:

pip install djangotheming

Usage

Add 'theming' to your INSTALLED_APPS.

INSTALLED_APPS = [
    ...
    'theming',
]

Add 'django.contrib.sites.middleware.CurrentSiteMiddleware', 'theming.middleware.CurrentRequestMiddleware' and 'theming.middleware.CurrentThemeMiddleware' to your MIDDLEWARE

Add theming.template.loaders.theme.Loader to your 'TEMPLATES['OPTIONS']['loaders']'

TEMPLATES = [
    {
        'BACKEND': 'django.template.backends.django.DjangoTemplates',
        'DIRS': [os.path.join(BASE_DIR, 'templates')]
        ,
        'APP_DIRS': False,
        'OPTIONS': {
            'loaders': [
                'theming.template.loaders.theme.Loader',
                'django.template.loaders.app_directories.Loader',
            ],
            'context_processors': [
                'django.template.context_processors.debug',
                'django.template.context_processors.request',
                'django.contrib.auth.context_processors.auth',
                'django.contrib.messages.context_processors.messages',
            ],
        },
    },
]

Set 'theming.static.storage.ThemeStorage' as your 'STATICFILES_STORAGE'

STATICFILES_STORAGE = "theming.static.storage.ThemeStorage"

Add 'theming.static.finders.ThemeFilesFinder' to your 'STATICFILES_FINDERS'

STATICFILES_FINDERS = (
    'theming.static.finders.ThemeFilesFinder',
    'django.contrib.staticfiles.finders.FileSystemFinder',
    'django.contrib.staticfiles.finders.AppDirectoriesFinder',

)

Finally, Set the 'THEMING' setting to something like.

 #  Theming settings.

 THEMING = {
   'ENABLED': True,
   'DEFAULT': '<theme-name>',
   'DIRS': [

      os.path.join(<absolute-path-to-themes-dir>)

   ],

}

License

The code in this repository is licensed under the GNU GENERAL PUBLIC LICENSE Version 3 unless otherwise noted.

Please see LICENSE for details.

How To Contribute

Contributions are very welcome.

I will add info on how to contribute soon.

Reporting Security Issues

Please do not report security issues in public. Please email saleem_ee@hotmail.com.

Change Log

[0.1.0] - 2016-10-13

  • First release on PyPI.
  • Models and Django admin integration

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Files for djangotheming, version 2.0.1
Filename, size File type Python version Upload date Hashes
Filename, size djangotheming-2.0.1.tar.gz (11.3 kB) File type Source Python version None Upload date Hashes View hashes

Supported by

Elastic Elastic Search Pingdom Pingdom Monitoring Google Google BigQuery Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN SignalFx SignalFx Supporter DigiCert DigiCert EV certificate StatusPage StatusPage Status page