前提・実現したいこと
メインコンテンツとサブコンテンツ(サイドバー)をそれぞれデータベースから取得した情報を表示したい。
発生している問題・エラーメッセージ
Django初学者になります。
urlから以下のviewの関数を呼び出すと、それぞれのデータが表示されます。実現したいことは、
CategoryIndexを呼び出したときにCalendarのデータも併せて'vlogapp/index_list.html'に表示したいということです。
## カテゴリ一覧 class CategoryIndex(ListView): template_name = 'vlogapp/index_list.html' paginate_by = 2 def get_queryset(self, **kwargs): queryset = PostModel.objects.filter(category__name_en = self.kwargs['name_en']) return queryset ##カレンダー def Calendar(request): mon = calendar.month(2021, 7) return render(request, 'vlogapp/index_list.html', {'mon': mon})
試したこと
## カテゴリ一覧 class CategoryIndex(ListView): template_name = 'vlogapp/index_list.html' paginate_by = 2 def get_queryset(self, **kwargs): queryset = PostModel.objects.filter(category__name_en = self.kwargs['name_en']) mon = calendar.month(2021, 7) return queryset, mon
上記のコードで試してみましたがquerysetのみが表示されmonは表示されずうまくいきませんでした。
解決のヒントを頂ければと思います。関連のhtmlは以下のようになります。
{% block content %} {% include 'vlogapp/pagination.html' %} {% for item in object_list %} <div class="card mb-3" style="max-width: 720px;"> <div class="row g-0"> <div class="col-md-3"><a href="{% url 'vlogapp:detail' item.pk %}"> <img src="https://mdbootstrap.com/wp-content/uploads/2020/06/vertical.jpg" alt="..." class="img-fluid rounded-pill" /></a> </div> <div class="col-md-8"> <div class="card-body"> <a href="{% url 'vlogapp:detail' item.pk %}"> <h5 class="card-title">{{ item.title }}</h5> </a> <p class="card-text">{{ item.content }}</p> <p class="card-text"> <small class="text-muted">{{ item.created_at }}</small> </p> </div> </div> </div> </div> {% endfor %} {% endblock %} {% block sidebar %} {% endblock %}
<main class="container"> <div class="row"> <div class="col-md-8"> {% block content %} {% endblock %} </div> <div class="col-md-4"> {% block sidebar %}{{mon}} {% endblock %} </div> </div> </main>
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2021/07/27 05:04