Проблема обновления значений таблицы в django

В файле bast_tag.py я получаю информацию из таблицы настроек сайта, которая имеет только одну строку, а затем отображаю ее в шаблоне. Когда я хочу обновить значения в этой строке в панели администратора, информация не обновляется, чтобы значения обновились, я должен остановить сервер и выполнить команду 'py manage.py runserver' снова! пожалуйста, помогите мне. Спасибо

base_tag.py:

_site = Settings.objects.first()
@register.simple_tag
def title_site():
    return _site.title


@register.simple_tag
def description_site():
    return _site.description


@register.simple_tag
def five_icon_site():
    return _site.five_icon.url

@register.inclusion_tag("wooden/partials/footer.html")
def footer_tag():
    context = {
        'about': _site.about,
        'logo': _site.logo_ftr.url,
    }
   return context

footer.html:

<div class="d-flex justify-content-around align-items-center flex-column ftr_center wow fadeInUp">
        <img src="{{logo}}">
        <p class="text-center">
            {{about}}
        </p>
      </div>

тегhead в index.html:

<title>{% title_site %}</title>
<meta name="description" content="{% description_site %}">

Вы должны делать запрос к БД внутри метода. Иначе запрос будет выполняться только один раз при запуске django. Попробуйте сделать так:

@register.simple_tag
def title_site():
    _site = Settings.objects.first()
    return _site.title

То же самое для других тегов. Внутри этих методов тоже нужно выполнить запрос к БД. Если вы не хотите, чтобы ваш запрос выполнялся несколько раз, вы можете использовать пользовательский контекстный процессор .

Вернуться на верх