Вы можете создать два url
здесь, один с параметром country
, а другой без:
urlpatterns = [
path('', HomeView.as_view()<b>, kwargs={'country': 'Germany'}</b>),
path('<country>', HomeView.as_view(), name='home')
]
или вы можете позволить Django самому представлению вводить 'Germany'
в случай по умолчанию:
urlpatterns = [
path('', HomeView.as_view()),
path('<country>', HomeView.as_view(), name='home')
]
Обратите внимание, что параметры URL хранятся в self.kwargs
, а не в self.request.GET
:
from django.views.generic import ListView
class HomeView(ListView):
template_name = 'data/index.html'
model = DataSet
def get_queryset(self, *args, **kwargs):
return super().get_queryset(*args, **kwargs).filter(
location=<b>self.kwargs.get(</b>'country', 'Germany'<b>)</b>
)