如何在 Django 中个性化 URL 路径?
How can I personalize an URL path in Django?
我正在尝试建立一个呈现一些书籍和相应页面的网站。我想让访问这样的页面成为可能:
path('/<str:book_pk>-<int:book_page>/', views.TestClass.as_view(), name='book-test')
我希望用户访问它非常简单,例如:mysite.com/5-12/
- 将他重定向到第 12 页的第 5 本书。问题是当我从网站本身访问此页面时,使用href
,真实路径变为:
mysite.com/%2F5-13/
如果我想在浏览器中写入以下路径:myste.com/5-13/
,它会抛出 404 page not found
,因为真正的路径是 mysite.com/%2F5-13/
。这很明显,但我的问题是:
我怎样才能坚持我的初始路径,并使通过 myste.com/5-13/
访问成为可能?出于某种原因,Django URL Patterns 在开头添加了一个额外的 %2F
字符串。有人可以向我解释为什么以及如何解决这个问题吗?
非常感谢您付出的时间和精力!非常感谢!
您不必在 url 的开头包含 /
,只需:
path('<str:book_pk>-<int:book_page>/', views.TestClass.as_view(), name='book-test')
/
在 url 秒内自动编码为 %2F(阅读完整列表 here)
我正在尝试建立一个呈现一些书籍和相应页面的网站。我想让访问这样的页面成为可能:
path('/<str:book_pk>-<int:book_page>/', views.TestClass.as_view(), name='book-test')
我希望用户访问它非常简单,例如:mysite.com/5-12/
- 将他重定向到第 12 页的第 5 本书。问题是当我从网站本身访问此页面时,使用href
,真实路径变为:
mysite.com/%2F5-13/
如果我想在浏览器中写入以下路径:myste.com/5-13/
,它会抛出 404 page not found
,因为真正的路径是 mysite.com/%2F5-13/
。这很明显,但我的问题是:
我怎样才能坚持我的初始路径,并使通过 myste.com/5-13/
访问成为可能?出于某种原因,Django URL Patterns 在开头添加了一个额外的 %2F
字符串。有人可以向我解释为什么以及如何解决这个问题吗?
非常感谢您付出的时间和精力!非常感谢!
您不必在 url 的开头包含 /
,只需:
path('<str:book_pk>-<int:book_page>/', views.TestClass.as_view(), name='book-test')
/
在 url 秒内自动编码为 %2F(阅读完整列表 here)