Chciałbym zaimplementować stronę kategorii za pomocą pliszka, ale dość trudno jest zrozumieć dla początkującego programatora. Wystarczy podążając za samouczkiem pliszka (rozpoczęcia), pole kategorii są realizowane w ich oficjalnym samouczku, ale nie wiem, jak uzyskać dostęp

Na przykład w Django, jeśli zdefiniuję dwa modele, takie jak kategorie i posty, mogę uzyskać dostęp do artykułów, które spadają pod konkretną kategorią, korzystając z klucza obcego i tworzenie widoku przy użyciu czegoś takiego jak kategoria.posts_set.all ()

Ale jak mogę to zrobić w pliszach? Dziękuję za pomoc z góry

0
BangolPhoenix 31 lipiec 2020, 13:53

1 odpowiedź

Najlepsza odpowiedź

Jeśli chcesz wyświetlić wszystkie kategorie z np. Strona indeksu kategorii, wtedy będziesz musiał uzyskać wszystkie kategorie i dodać je do kontekstu. Zakładając, że Twoja struktura modelu jest taka sama jak w samouczka w HTTPS: // docs.wagtail.io/en/latest/getting_started/tutorial.html#kategorie, a potem możesz zrobić

class CategoryIndexPage(Page):
    
    # ... other fields go here

    def get_context(self, request, *args, **kwargs):
        context = super().get_context(request, *args, **kwargs)
        context["categories"] = BlogCategory.objects.all()
        return context

Następnie w swoim szablonie:

    {% if categories %}
        <h3>Categories</h3>
        <ul>
            {% for category in categories %}
                <li style="display: inline">
                    {% image category.icon fill-32x32 style="vertical-align: middle" %}
                    {{ category.name }}
                </li>
            {% endfor %}
        </ul>
    {% endif %}
1
nimasmi 31 lipiec 2020, 11:10