私はこのようなURLパターンを持っています:
urlpatterns = (
url(r'^$', list_titles, name='list'),
url(r'^(?P<tag>[a-z\-0-9]+?)/$', list_titles, name='filtered-list'),
url(r'^(?P<title>\S+?)/$', show_title, name='title'),
)
filtered-list
とtitle
同じものに一致します。
に一致するものの利用可能なリストがある場合tag
、私は発砲しfiltered-list
たいと思います。list_titles
しかし、一致するものがない場合はtag
、それをURLプロセッサにバブルバックしたいので、show_title
起動します。
一致するタイトルがない場合は、そこで適切な404を発生させます。
ビューの内側からこれを実行できることはわかっていますが、プロセスをビューに配線する必要があるのは少し臭いです。URLの順序で、最初に何が選択され、何に渡されるかを決定したいと思います。