I searched for hours but I could not find a solution. I am trying to filter conferences by country. Conference detail url works fine when I click on it from the main conference list. When I filter by country, the list of conferences in a given country are shown. However, when I click on a conference, it breaks and shows `Reverse for 'conference-detail' with keyword arguments '{'pk': '', 'slug': ''}' not found. 1 pattern(s) tried: ['conferences\\/details\\/(?P<pk>[0-9]+)\\/(?P<slug>[-a-zA-Z0-9_]+)\\/$']`. I cannot figure out the problem in my code.
Model: from cities_light.models import Country, City class Conference(models.Model): title = models.CharField(max_length=512, default='') slug = models.SlugField(max_length=512) country = models.ForeignKey(Country, on_delete=models.CASCADE) city = models.ForeignKey(City, on_delete=models.CASCADE) def __str__(self): return self.title def save(self, *args, **kwargs): self.slug = slugify(self.title) super(Conference, self).save(*args, **kwargs) def get_absolute_url(self): return reverse('conferences:conference-detail', kwargs={'pk': self.pk, 'slug': self.slug}) urls.py: path('', views.ConferenceListView.as_view(), name='conference-list'), path('details/<int:pk>/<slug:slug>/', views.ConferenceDetailView.as_view(), name='conference-detail'), path('country-list', views.ConferenceCountryListView.as_view(), name='conference-country-list'), path('country/<int:pk>/<slug:slug>/', views.ConferenceByCountryView.as_view(), name='conferences-in-single-country'), Views: class ConferenceByCountryView(generic.ListView): template_name = 'conferences/conferences_in_country_list.html' context_object_name = 'conferences' def get_queryset(self, *args, **kwargs): country = Country.objects.get(pk=self.kwargs.get('pk', None)) return Conference.objects.filter(country=country) def get_context_data(self, **kwargs): context = super(ConferenceByCountryView, self).get_context_data(**kwargs) country = Country.objects.get(pk=self.kwargs.get('pk', None)) context['country'] = country context['title'] = 'Conferences in ' + ' country' return context class ConferenceDetailView(generic.DeleteView): model = Conference template_name = 'conferences/conference_detail.html' def get_context_data(self, **kwargs): context = super().get_context_data(**kwargs) context['title'] = self.object.title context['pk'] = self.object.pk context['slug'] = self.object.slug return context In the conference list html, this is the code snippent: `<a href="{% url 'conferences:conference-detail' pk=conference.pk slug=conference.slug %}"><h6>{{ conference.title }}</h6></a>`. It redirects to the conference detail page without any problem. In the conference by country html, I have the following code: <ul class="list-group"> {% for conferenc in conferences %} <a class="list-group-item list-group-item-action" href="{% url 'conferences:conference-detail' pk=conference.pk slug=conference.slug %}"> {{ conferenc.title }} </a> {%comment%} Here is the problem. {% endcomment %} {% endfor %} </ul> When I click on the url, it raises the following error: Reverse for 'conference-detail' with keyword arguments '{'pk': '', 'slug': ''}' not found. 1 pattern(s) tried: ['conferences\\/details\\/(?P<pk>[0-9]+)\\/(?P<slug>[-a-zA-Z0-9_]+)\\/$'] Your kind help is highly appreciated. -- You received this message because you are subscribed to the Google Groups "Django users" group. To unsubscribe from this group and stop receiving emails from it, send an email to django-users+unsubscr...@googlegroups.com. To post to this group, send email to django-users@googlegroups.com. Visit this group at https://groups.google.com/group/django-users. To view this discussion on the web visit https://groups.google.com/d/msgid/django-users/01419589-cba7-44ed-99ed-9fcc2708f2fc%40googlegroups.com. For more options, visit https://groups.google.com/d/optout.