【问题标题】:Django template reverse url resolution without creating group for variableDjango模板反向url解析而不为变量创建组
【发布时间】:2013-02-28 06:12:36
【问题描述】:

我想创建这样的网址;

.../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 film_summary film.slug film.id %}从模板中反转网址

我不使用蛞蝓。它只是为了可读性。所以我尝试了类似的方法;

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

但我无法从模板中逆转这一点。有什么办法吗?

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

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

提前谢谢你:)

【问题讨论】:

    标签: python regex django url


    【解决方案1】:

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

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

    【讨论】:

      猜你喜欢
      • 2013-01-02
      • 1970-01-01
      • 2015-05-14
      • 2015-02-14
      • 1970-01-01
      • 1970-01-01
      • 2021-03-21
      • 2018-10-27
      • 2020-01-08
      相关资源
      最近更新 更多