Django-machina was built with customization in mind. The module provides useful tools to make your forum compatible with your own business logic.
As most Django applications do, django-machina allows you to customize your forum application with a set of settings (please refer to Settings). Django-machina‘s settings cover many aspects of your forum: markup language, pagination, images, default permissions, etc.
Templates and static files¶
If you wish to personalize the look and feel of your forum you can take advantage of the Django’s template loading system. Thus you can easily override forum layouts and styles if Django is configured to look in your project first for templates before using the django-machina‘s templates.
For example, you can easily override django-machina‘s templates by configuring the
TEMPLATE_DIRS setting as follows:
import os TEMPLATE_DIRS = ( os.path.join(PROJECT_PATH, 'src/vanilla_project/templates'), MACHINA_MAIN_TEMPLATE_DIR, )
Advanced customization mechanisms¶
Django-machina relies on a dynamic class loading system that allows to override or extend its Python classes: class-based views, forms, models, etc. This gives you the power to adapt your forum to your own business logic.
In order to benefit from this dynamic class loading system, you will need to override a django-machina application. Please head over to the following topics in order to achieve this: