Создание тега для включения в шаблон bootstrap
Создание функций тегов
Создаем в модуле templatetags
новый файл, например с именем mytags.py
. Данное имя затем будет использовано в шаблоне.
Вот код файла.
from django import template
from django.utils.safestring import mark_safe
register = template.Library()
@register.simple_tag
def bootstrap_css():
tags = [
'<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css">',
'<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js"></script>'
]
return ''.join(tags)
Использование
В начале шаблона необходимо загрузить тег вот так: {% load mytags %}
.
Развиваем тему bootstrap
@register.inclusion_tag('bootstrap_button.html')
def bootstrap_button(text, style="default"):
return {
'style': style.lower(),
'text': text
}
Функция декоратора inclusion_tag
принимает в качестве аргумента имя шаблона с html кодом. В папке template приложения или проекта создадим файл с имненм bootstrap_button.html
. Вот его код:
<button type="button" class="btn btn-{{ style }}">{{ text }}</button>
Использовать тег следует следующим образом:
{% bootstrap_button "Click me!" %}
{% bootstrap_button "I'am in dager!" "danger" %}