python - Django - Multiple <pk> in urls.py with DetailViews -
i'm trying build script using django generic display views.
my urls.py
url(r'^page/(?p<pk>[0-9]+)/$', pagedetails.as_view(), name='page-details'), my views.py
class pagedetails(detailview): model = pages def get_context_data(self, **kwargs): context = super(pagedetails, self).get_context_data(**kwargs) return context the problem how can set multi <pk> in urls this?
url(r'^page/(?p<pk>[0-9]+)/subpage/(?p<pk>[0-9]+)$', pagedetails.as_view(), name='page-details'), in views need take data first , second <pk>.
change second pk argument in url else, example pk_alt:
^page/(?p<pk>[0-9]+)/subpage/(?p<pk_alt>[0-9]+)$ the url parameter pk_alt available in views function part of self.kwargs dictionary, can access using:
self.kwargs.get('pk_alt', '') you update views following:
class pagedetails(detailview): model = pages def get_context_data(self, **kwargs): context = super(pagedetails, self).get_context_data(**kwargs) page_alt = pages.objects.get(id=self.kwargs.get('pk_alt', '')) context['page_alt'] = page_alt return context you able access alternative model in template using {{ page_alt }}
Comments
Post a Comment