Django / Laravel Blade - отправка данных из 1 модуля в 2 разных шаблона лезвия

У меня есть раздел блога, созданный в django, который использует файлы шаблона blade для отображения на переднем плане.

Это позволяет пользователю добавить содержание блога и установить функцию featured (да/нет), которая будет отображать "featured blog" первым на странице блога.

Я пытаюсь создать отдельный модуль для включения на главной странице, который будет захватывать первые 2 'featured' блога.

У меня это есть в файле models.py.

class New(models.Model):
    IS_FEATURED = (
        (0, "No"),
        (1, "Yes")
    )
    IS_POPULAR = (
        (0, "No"),
        (1, "Yes")
    )
    title = models.CharField(max_length=200, null=False, verbose_name='Title')
    slug = models.CharField(max_length=255, null=False, unique=True, verbose_name='Slug')
    keywords = models.CharField(max_length=300, blank=True, default="")
    description = models.CharField(max_length=300, blank=True, default="")
    genre = models.CharField(max_length=100, blank=True, default="")
    is_featured = models.IntegerField(choices=IS_FEATURED, default=0, null=False)
    is_popular = models.IntegerField(choices=IS_POPULAR, default=0, null=False)
    custom_meta_copy = models.TextField(blank=True, default="", help_text="Will be rendered inside head tag")
    og_title = models.CharField(max_length=300, blank=True, default="")
    og_description = models.CharField(max_length=300, blank=True, default="")
    og_image = models.FileField(upload_to='social/', blank=True, default="")
    twitter_title = models.CharField(max_length=300, blank=True, default="")
    twitter_description = models.CharField(max_length=300, blank=True, default="")
    twitter_image = models.FileField(upload_to='social/', blank=True, default="")
    intro_copy = models.CharField(max_length=200, null=False)
    content_copy = models.TextField(null=True, default="")
    image = models.FileField(upload_to=get_news_upload_path, blank=True, verbose_name="image", default="", help_text="Recommended: 1140x600")
    image_alt_text = models.CharField(max_length=300, blank=True, default="")
    published_at = models.DateTimeField(auto_now_add=True)
    updated_at = models.DateTimeField(auto_now=True)

    def __str__(self):
        return self.title

    class Meta:
        verbose_name = "New"
        verbose_name_plural = "News"

У меня есть файл blade с именем news.blade.php, который использует эту информацию для отображения различных блогов.

Это создает раздел блога "featured", но он размещается на отдельной странице, а не в другом модуле.

@if($page ?? ''["featuredNew"])
                        <div class="col-md-7">
                            <div class="card mb-3">
                                <div class="row no-gutters">
                                    <div class="col-md-7">
                                        <a href="{{Helper::url_with_query_params(route("news.details",$page ?? ''["featuredNew"]->slug))}}">
                                            <img src="{{Helper::absoluteImagePath($page ?? ''["featuredNew"]->image)}}"
                                                 class="card-img"
                                                 alt="{{$page ?? ''["featuredNew"]->image_alt_text}}">
                                            @if($page ?? ''["featuredNew"]->genre)
                                                <span class="new-genre">{{$page ?? ''["featuredNew"]->genre}}</span>
                                            @endif
                                        </a>
                                    </div>
                                    <div class="col-md-5">
                                        <div class="card-body">
                                            <a href="{{Helper::url_with_query_params(route("news.details",$page ?? ''["featuredNew"]->slug))}}">
                                                <h5 class="card-title font-semibold">{{$page ?? ''["featuredNew"]->title}}</h5>
                                            </a>
                                            <p class="card-time-label"><small
                                                    class="text-muted font-semibold">{{Helper::getFormattedTime($page ?? ''["featuredNew"]->published_at)}}</small>
                                            </p>
                                            <p class="card-text my-4">{{$page ?? ''["featuredNew"]->intro_copy}}</p>
                                            <a class="btn btn-link text-gradient btn-lg font-bold ml-lg-5"
                                               href="{{Helper::url_with_query_params(route("news.details",$page ?? ''["featuredNew"]->slug))}}">Continue
                                                reading
                                                <em class="fas fa-angle-right"></em></a>
                                        </div>
                                    </div>
                                </div>
                            </div>
                        </div>
                    @endif

Возможно ли использовать это в файле blade модуля, чтобы я мог включить это содержимое на главной странице, а не на странице 'blog'? Если кто-то может указать мне правильное направление, это было бы здорово.

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