2

我想创建这样的网址;

.../film/slug-of-the-film/id-of-film
.../film/id-of-film

例子;

../film/fight-club/1040
../film/1040

两个链接是一样的。

当我这样做时;

url(r'^(?P<slug>[-\w]+/)?(?P<id>[0-9]+)/$', views.summary, name="film_summary")

我可以从模板中反转 url{% url film_summary film.slug film.id %}

我不使用蛞蝓。它只是为了可读性。所以我尝试这样的事情;

url(r'^(?:[-\w]+/)?(?P<id>[0-9]+)/$', views.summary, name="film_summary")

但我无法从模板中扭转这一点。有没有办法做到这一点?

除了这样的解决方案;/film/{{film.slug}}/{{film.id}}

其实我不知道有没有必要这样做。我只是打算不要在我不会使用的视图函数中添加参数。

先感谢您 :)

4

1 回答 1

0

我会将它们作为单独的网址处理。这也为人类读者简化了正则表达式。

url(r'^(?P<id>[0-9]+)/$', views.summary, name="film_summary"),
url(r'^(?P<slug>[-\w]+/)?(?P<id>[0-9]+)/$', views.summary)
于 2013-03-12T16:45:07.977 回答