Django 按url段筛选内容

Django 按url段筛选内容,django,python-3.x,django-templates,django-views,Django,Python 3.x,Django Templates,Django Views,我有一个电影和电视节目的数据库。我想这样过滤这些: /productions/=索引(全部),/productions/films/=仅电影和/productions/series/=仅电视节目 ## urls.py from django.conf.urls import patterns, url from productions import views urlpatterns = patterns('', url(r'^$', views.IndexView.as_view(

我有一个电影和电视节目的数据库。我想这样过滤这些: /productions/=索引(全部),/productions/films/=仅电影和/productions/series/=仅电视节目

## urls.py
from django.conf.urls import patterns, url

from productions import views

urlpatterns = patterns('',
    url(r'^$', views.IndexView.as_view(), name='index'),
    url(r'^films/$', views.IndexView.as_view(), name='films'),
    url(r'^series/$', views.IndexView.as_view(), name='series'),
)

## views.py
from django.shortcuts import render, get_object_or_404
from django.http import HttpResponseRedirect, HttpResponse
from django.core.urlresolvers import reverse
from django.views import generic

from productions.models import Production, Director

class IndexView(generic.ListView):
    template_name = 'productions/index.html'
    context_object_name = 'productions_list'

    def get_queryset(self):
        return Production.objects.order_by('-release')

对于这样的事情,最好的做法是什么?在views.py中为每一个创建一个新方法,或者我可以重用主方法,并通过解析URL段调用类似if(productions.is\u movie)的东西吗?

我会从URL捕获字符串,如下所示:

urlpatterns = patterns('',
    url(r'^(?<query>(films|series|))/$', views.IndexView.as_view(), name='films_series'),
)

我将从url捕获字符串,如下所示:

urlpatterns = patterns('',
    url(r'^(?<query>(films|series|))/$', views.IndexView.as_view(), name='films_series'),
)