Модели Django. Как импортировать текстовое поле модели во все приложения проекта?

В проекте несколько приложений. Базовые шаблоны отдельно для каждого app.

app1--
templates
--base.html
app2--
templates
--base.html
app3--
templates
--base.html
app4--
templates
--base.html
-models.py

В каждом шаблоне есть повторяющийся html блок содержащий ссылку и текстовое поле:

*<a class="nav__link" href="https://somelink.net">запись на приём</a>*

В app4 есть модель для текстового поля и ссылки. Как сделать так, чтобы во всех app нужный блок html шаблона base.html менялся при изменении данных модели app4 в админке?

-models.py

from django.db import models

class PublishedManager(models.Manager):
    def get_queryset(self):
        return super().get_queryset()\
                        .filter(status=Dikidi.Status.PUBLISHED)


class Dikidi(models.Model):

    class Status(models.TextChoices):
        DRAFT = 'DF', 'Draft'
        PUBLISHED = 'PB', 'Published'

    title_dikidi = models.CharField(max_length=200, verbose_name='Заголовок')
    dikidi_yaroute = models.CharField(max_length=250, verbose_name='Dikidi ссылка')
    status = models.CharField(max_length=2,
                                choices=Status.choices,
                                default=Status.DRAFT)

    
    
    objects = models.Manager() # менеджер, применяемый по умолчанию
    published = PublishedManager() # конкретно-прикладной менеджер
    
    def __str__(self):
        return self.title_dikidi
    
    class Meta:
        verbose_name = 'Dikidi'
        verbose_name_plural = 'Dikidi'

-views

from django.shortcuts import render
from .models import Dikidi


def home(request):
    if request.method == 'POST':
        form = Dikidi(request.POST)
        if form.is_valid():
            context = {
                post_list: form.cleaned_data[post_list]
            }
            return render(request, 'dikidi/post/list.html', context)
        else:
            return render(request, 'dikidi/post/list.html', {
                'form': form
            })
    return render(request, 'dikidi/post/list.html', {
       'form': Dikidi()
    })


def post_list(request):
    posts = Dikidi.published.all()
    return render(request,
                    'dikidi/post/list.html',
                    {'posts': posts})

-urls

from django.urls import path
from .import views



app_name = 'dikidi'

urlpatterns = [
    # представления поста
    path('', views.post_list, name='post_list'),
]

шаблон app4

{% extends "dikidi/base.html" %}
{% block content %}
{% for post in posts %}
    <a href={{ post.dikidi_yaroute }}>записаться на приём</a>
{{ post.body|truncatewords:30|linebreaks }}
{% endfor %}
{% endblock %}

Понимаю что копать нужно в сторону импорта моделей. Прочитал документацию в соответсвующем разделе. Но КАК КОНКРЕТНО реализовать так и не пойму - def post_list без block content не работает, а делать отдельное приложение и модели для ссылки и перелапачивать код во всех app слишком долго, да и хотелось бы из админки править одну модель а не все четыре. Подозреваю что решение наверняка есть но вот какое моих нубских мозгов не хватает. Помогите пожалуйста!

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