Для проблемы с green_tested
в каждом представлении я предлагаю использовать обработчик контекста. Сначала вам нужно создать новый файл context_processors.py в том же месте, где находится ваш view.py. Вот так:
def function_name(request):
data = # here put logic you want
return {
'context_data': data
}
Затем вам нужно зарегистрировать ваш контекстный процессор в файле settings.py в TEMPLATES. Шаблон: YourAppName.FileName.FunctionName
Пример здесь (я не заменяю YourAppName
, потому что я этого не знаю):
TEMPLATES = [
{
'BACKEND': 'django.template.backends.django.DjangoTemplates',
'DIRS': ['YourAppName/templates'],
'APP_DIRS': True,
'OPTIONS': {
'context_processors': [
'django.template.context_processors.debug',
'django.template.context_processors.request',
'django.contrib.auth.context_processors.auth',
'django.contrib.messages.context_processors.messages',
# Here is new line
'YourAppName.context_processor.function_name',
],
},
},
]
Тогда вы можете в любом шаблоне использовать {{ context_data }}
, имя ключ в словаре, возвращаемом функцией.
По основной проблеме у меня есть только предложение. Вы можете создать какой-то родительский шаблон, например ваш «base_site. html». Что-то между base_site. html и текущим шаблоном. Но линия, которую вы хотите разместить, находится где-то посередине, поэтому я не уверен, сработает ли это для вас или чем эти шаблоны похожи друг на друга. Это может создать больше проблем, чем повторение этой строки 12 раз.
{% extends "admin/base_site.html" %}
{% load static %}
{% block content1 %}
{% endblock %}
Here the code you want in each template.
{% block content2 %}
{% endblock %}