Bangoo is a content management system on the top of Django.
-
Remove
django.contrib.admin
fromINSTALLED_APPS
and everything related to it (e.g.: imports inurls.py
). -
Add these lines to the
INSTALLED_APPS
:'angular', 'crispy_forms', 'easy_thumbnails', 'mptt', 'taggit', 'bangoo.core', 'bangoo.navigation', 'bangoo.theming', 'bangoo.admin', 'bangoo.media', 'bangoo.content',
-
Set
STATICFILES_FINDERS
to:STATICFILES_FINDERS = ( 'bangoo.theming.staticfiles.finders.FileSystemFinder', 'django.contrib.staticfiles.finders.AppDirectoriesFinder' )
-
Set
TEMPLATE_LOADERS
to:TEMPLATE_LOADERS = ( 'bangoo.theming.loaders.themes.Loader', 'django.template.loaders.app_directories.Loader', 'django.template.loaders.eggs.Loader' )
-
Set
MIDDLEWARE_CLASSES
to:MIDDLEWARE_CLASSES = ( 'django.middleware.common.CommonMiddleware', 'django.contrib.sessions.middleware.SessionMiddleware', 'django.middleware.locale.LocaleMiddleware', 'django.middleware.csrf.CsrfViewMiddleware', 'django.contrib.auth.middleware.AuthenticationMiddleware', 'django.contrib.messages.middleware.MessageMiddleware', 'bangoo.theming.middleware.ThemeMiddleware', 'bangoo.navigation.middleware.MenuResolverMiddleware' )
-
Set
TEMPLATE_CONTEXT_PROCESSORS
to:TEMPLATE_CONTEXT_PROCESSORS = ( 'django.contrib.auth.context_processors.auth', 'django.core.context_processors.request', 'django.core.context_processors.static', 'django.core.context_processors.media', 'django.core.context_processors.i18n', 'bangoo.theming.context_processors.act_theme', 'bangoo.navigation.context_processors.act_menu' )
-
Set
AUTH_USER_MODEL
tocore.User
-
Set available system languages. Example:
LANGUAGES = ( ('en', u'English'), ('hu', u'Hungarian'), )
-
Set the theme template directory path:
THEMES_BASE_DIR = os.path.join(os.path.dirname(os.path.dirname(__file__)), 'themes').replace('\\', '/')
And the default theme:
THEME = 'default'
In the example above the
THEMES_BASE_DIR
is expected to point to thethemes
directory in the current working directory.default
theme should be located inthemes/default
then. -
Set
CRISPY_TEMPLATE_PACK
tobootstrap3
. (Or anything valid. See the docs) -
Add
admin
andmedia
URLs and also append Bangoo's navigation URLs to your URL patterns:urlpatterns = patterns('', url(r'^admin/', include('bangoo.admin.urls')), url(r'^media/', include('bangoo.media.admin.urls')) ) + i18n_patterns('', url(r'', include('bangoo.navigation.urls')), )
Don't forget to import
i18n_patterns
:from django.conf.urls.i18n import i18n_patterns
-
python manage.py migrate
-
Create the theme directory by invoking
python manage.py create-theme
Builtin and external plugins (e.g.: bangoo.content
, plugins.blog
) usually extend base.html
template.
You should add header
and content
template blocks to this file to make these plugins work.