Skip to main content

Bootstrap template support for Django projects

Project description

This library was created to make django work with some generic bootstrap4 templates. This library uses the basic functionality from django-bootstrap4. I use it to match templates with my django_materialize_nav library.

Setup

Install the library.

# project/settings.py

INSTALLED_APPS = [
    "bootstrap4_nav",
    ...
]

Setup Context Processors

Bootstrap4_nav comes with a context processor to use some settings to change the default base styling.

# Context Processor to work with settings
TEMPLATES = [
    {
        ...
        'OPTIONS': {
            'context_processors': [
                ...
                'bootstrap4_nav.context_processors.get_context',
            ],
        },
    },
]

Alternative way to get the standard context for views

# views.py

from bootstrap4_nav.context_processors import get_context


def show_page(request):
    # Get the context with the style settings
    context = get_context(site_name='demo', title='Basic Content')

    context["object"] = "MyObject"
    return render(request, "my_page.html", context)

Style

The base template can be used by extending the materialize base nav.

{% extends "bootstrap4_nav/base.html" %}


{% block nav_items %}
    <li class="navbar-item{% if title == 'Page1' %} active{% endif %}"><a class="nav-link" href="/">Page1</a></li>
    <li class="navbar-item{% if title == 'Page2' %} active{% endif %}"><a class="nav-link" href="/">Page2</a></li>
    <li class="navbar-item{% if title == 'Page3' %} active{% endif %}"><a class="nav-link" href="/">Page3</a></li>
{% endblock %}

{% block contents %}
<div>
    <p>My Content goes here</p>
</div>
{% endblock %}

Styling controls

Bootstrap4_nav comes with several style options used in the template context variables listed below.

  • BOOTSTRAP4_SITE_NAME

  • BOOTSTRAP4_TITLE

If you went through the Setup Context Processors step then you can modify several settings to change the default style. This is an alternative to manually providing all of the template context variables.

# settings.py

BOOTSTRAP4_SITE_NAME = None  # Display this name in the navbar as the main name
BOOTSTRAP4_TITLE = None  # This is the page title displayed as the browser tab name

Project details


Download files

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

Source Distribution

bootstrap4_nav-1.0.0.tar.gz (14.1 kB view hashes)

Uploaded Source

Built Distribution

bootstrap4_nav-1.0.0-py3-none-any.whl (36.0 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page