почему мое выпадающее меню не работает на какой-то странице

#python #html #python-3.x #django #drop-down-menu

Вопрос:

Несколько дней назад я попытался выучить django и сделать простой веб-сайт, использующий это, но по какой-то причине мой выпадающий список на домашней странице не работал, но на другой странице он работает должным образом. Вот мой html-шаблон для этого

 <div class="dropdown-menu">
    {% for category in links %}
        <a class="dropdown-item" href="{{ category.get_url }}">{{category.category_name}}</a>
    {% endfor %}
</div>
 

и вот мой код для django urls.py

 urlpatterns = [
    path('', views.store, name='store'),
    path('<slug:category_slug>/', views.store, name='product_by_category'),
]
 

и вот мой код для ссылок ссылки

 def menu_links(request):
    links = Category.objects.all()
    return dict(links = links)
 

я не знаю, почему на моей домашней странице кнопка выпадающего списка не работала, но на другой странице она работает. я попытался найти в своих шаблонах навигационной панели, и я думаю, что там нет проблем, но выпадающий список все еще не работает, и я попытался найти на settings.py(чтобы проверить приложение для установки), но я это сделал

views.py

 def home(request):
    products = Product.objects.all().filter(is_available = True)
    
    context = {
        'products' : products,
    }
    
    return render(request, 'home.html', context)
 

у кого-нибудь есть идеи, в чем проблема?

Комментарии:

1. пожалуйста, покажите файл с вашими представлениями.

2. достаточно ли этого @KhushalJangid?

3. У вас есть base.html шаблон?

4. @MarcusAurelius куда вы возвращаете links словарь в контексте домашнего просмотра ?

5. @KhushalJangid для context_proccesors в приложении категории

Ответ №1:

Причина , по которой мой выпадающий список не работает на какой-то странице, заключается в том, что я включаю тег заголовка в свой home.html , даже если он уже есть в моем base.html шаблоне. Если у кого-то есть подобная проблема, пожалуйста, проверьте свою страницу, возможно, вы допустили какую-то ошибку, как и я