Views.py
class citydetailview(generic.DetailView):
#Generic class-based list view for a list of cities.
model = City
def get_city_value(request, pk):
if pk==1:
hyd=Type_city1.objects.all()
elif pk==2:
hyd=Type_city2.objects.all()
elif pk==3:
hyd=Type_city3.objects.all()
return (request,{'hyd':hyd})
urls.py
path('city/<int:pk>', views.citydetailview.as_view(), name='city_ads_detail'),
我想在我的一个课程中使用urls.py中的'pk'值,并将输出相应地呈现给模板
答案 0 :(得分:1)
而不是为什么不使用列表视图:
class CityDetailView(generic.ListView):
model = City
def get_queryset(self):
city_type = self.kwargs['city_type']
if city_type == 1:
return Type_city1.objects.all()
elif city_type == 2:
return Type_city2.objects.all()
elif city_type == 3:
return Type_city3.objects.all()
return super().get_queryset()
# urls
path('city/<int:city_type>/', views.CityDetailView.as_view(), name='city_ads_detail'),
最后,最好也共享您的模型。因为我认为您的模型结构可能不正确。您可以将它们存储在单个模型中,然后根据字段Type_city
进行过滤,而不是使用不同的city_type
模型。