【问题标题】:How can I personalize an URL path in Django?如何在 Django 中个性化 URL 路径?
【发布时间】:2021-07-14 06:25:08
【问题描述】:

我正在尝试建立一个呈现一些书籍和相应页面的网站。我希望可以访问这样的页面:

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 字符串。谁能解释一下为什么,以及如何解决这个问题?

非常感谢您的时间和精力!非常感谢!

【问题讨论】:

    标签: python django django-views django-urls url-pattern


    【解决方案1】:

    您不必在网址的开头包含/,只需:

    path('<str:book_pk>-<int:book_page>/', views.TestClass.as_view(), name='book-test')
    

    / 在 url 中自动编码为 %2F(阅读完整列表 here

    【讨论】:

    • 哇,伙计..哦..我怎么想念那个...非常感谢!这是一个新手的错误......
    猜你喜欢
    • 2019-07-23
    • 2014-12-16
    • 2023-03-16
    • 2016-07-26
    • 1970-01-01
    • 2011-04-10
    • 2021-03-09
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多