Проблема обновления значений таблицы в 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
То же самое для других тегов. Внутри этих методов тоже нужно выполнить запрос к БД. Если вы не хотите, чтобы ваш запрос выполнялся несколько раз, вы можете использовать пользовательский контекстный процессор .