Создание дерева навигации с помощью Django ListView - PullRequest
0 голосов
/ 25 мая 2018

Я работаю над своей навигацией для проекта django и не могу понять это.У меня есть контекст, возвращаемый из одного ListView класса, но я хочу упорядочить возвращенный набор запросов по категориям.

Если у меня несколько категорий в одной модели, как я могу разделить возвращенные объекты представлениячтобы отобразить их отдельно на странице?

Я пытался использовать это в views.py :

class ServiceView(ListView):
    model = Service
    template_name = "services/services.html"

    def get_context_data(self, **kwargs):
        context = super().get_context_data(**kwargs)
        context['health'] = Service.objects.all().filter(service_type__icontains='health')
        context['life'] = Service.objects.all().filter(service_type__icontains='life')
        return context

У меня сложилось впечатление, что я могу назвать измененныйконтексты из шаблона, но я мог бы назвать только один контекст.Можно ли создать несколько контекстов из одной модели?

Я пытался использовать шаблон, подобный следующему services.html :

<ul class="sidebar-nav animated fadeIn">
    <li>
        <a data-toggle="collapse" href="#coll-css" class="collapsed"><i class="fa fa-heart"></i> Health</a>
        <ul id="coll-css" class="menu-submenu list-unstyled collapse">
            {% for service in health %}
                    <li><a href="{% url 'services' %}{{ service.slug }}"><i class="fa {{ service.icon }}"></i>{{ service.title }}</a></li>
            {% endfor %}
        </ul>

        <a data-toggle="collapse" href="#coll-css" class="collapsed"><i class="fa fa-heart"></i> Life</a>
        <ul id="coll-css" class="menu-submenu list-unstyled collapse">
            {% for service in life %}
                    <li><a href="{% url 'services' %}{{ service.slug }}"><i class="fa {{ service.icon }}"></i>{{ service.title }}</a></li>
            {% endfor %}
        </ul>
    </li>
</ul>

Элементы вконтекст «здоровья» населяет, а не контекст жизни.Можно ли использовать 2 для циклов в шаблоне?Есть ли лучший способ добиться этого?

...