Я использую Django для создания сайта.
У меня есть настройка процессора контекста, которая выглядит примерно так:
TEMPLATE_CONTEXT_PROCESSORS = (
...
"mysite.context_processors.mystandardvariables"
)
Это добавляет некоторые стандартные переменные, которые мне нравится использовать в шаблонах, такие как SITE_NAME и SITE_ROOT.
Я только что создал свой первый пользовательский тег шаблона и обнаружил, что не могу получить доступ к этим стандартным переменным.
Я не получаю никаких ошибок, и моя страница отображается нормально, просто мне нужна переменнаянедоступно.
Чтобы проверить, какие переменные доступны, я уже использовал {% debug %}
.
Мой тег выглядит так:
@register.inclusion_tag('search/search_snippet.html', takes_context = True)
def search(context):
form = forms.SearchForm()
return {'form': form }
Шаблон тега выглядит такэто:
<form action="{{ SITE_ROOT }}search" method="post">
{% csrf_token %}
<table>
{{ form.as_table }}
</table>
<input type="submit" value="Submit">
</form>
Я включил поисковый тег на своей домашней странице, например:
{% extends "base.html" %}
{% load search_tags %}
{% block content %}
{% search %}
{% endblock %}