是否可以在 URL 映射中使用带有附加参数的通用视图 - 即我得到以下模型:
class Route(models.Model):
area = models.ForeignKey(Area)
slug = models.SlugField(null=True,blank=True)
@models.permalink
def get_absolute_url(self):
return ('route_details', (), {'area': self.area.slug,
'slug': self.slug})
此 URL 映射:
url(r'^(?P<area>[-\w]+)/(?P<slug>[-\w]+)/$','routes.views.route_details',
name='route_details')
而这个琐碎的观点:
def route_details(self, area, slug):
route = get_object_or_404(Route, slug=slug)
return render_to_response("routes/route_details.html", {'route': route})
正如你所看到的,我实际上只是通过路线的 slug 来识别路线,而 area slug 只是为了塑造 url(例如routes/central-park/rat-rock
)。我可以只使用通用视图来做同样的事情吗?