我正在制作一个应用程序,其中一个模型的主键包含斜杠。例如,xx/xxxxxxx/xx
。这在我编写 URL conf 时会出现问题,因为我不想将其锁定为仅包含一定数量的斜杠,但我也希望能够拥有子视图......即
http://example.com/xx/xxxxxxx/xx/
http://example.com/xx/xxxxxxx/xx/edit/
目前我的 urlconf 看起来像
programme_patterns = patterns('',
url(r'^$',
login_required(views.ProgrammeDetailView.as_view()),
name='programme_detail'),
url(r'^edit/$',
login_required(views.ProgrammeFormView.as_view()),
name='programme_edit'),
)
urlpatterns = patterns('',
url(r'^programmes/?P<pk>.*?/.*?/.*?)/',
include(programme_patterns))
)
URL 中的主键斜杠也让我感到不舒服,因为它没有语义,这应该看起来像一个“目录”而不是三个嵌套。
我想知道是否有办法转换主键以在 URL 中使用,例如,用下划线替换斜杠。在不破坏反向 URL 机制的情况下,我想不出一种方法来做到这一点。