有件事我想问一下,如果我尝试这段代码,我可以进入登录页面,但我的网址看起来是这样的。http://127.0.0.1:8000/%2Flogin/
. 这是什么?%2F
?
urlpatterns = [
path("", views.index, name="index"),
path("<str:slug>", views.redirect, name='redirect'),
path('/login/', views.logIn, name='login')]
我把登录网址中的斜线去掉,得到一个错误信息。
未找到页面 (404) 请求方法。 GET请求URL。 http:/127.0.0.1:8000/login
去掉斜杠后,下面是代码
urlpatterns = [
path("", views.index, name="index"),
path("<str:slug>", views.redirect, name='redirect'),
path('login', views.logIn, name='login')]
所以,我想知道的是,为什么斜线会影响登录的网址,而不是 <str:slug>
试试这个。
urlpatterns = [
path("login/", views.logIn, name='login'),
path("<str:slug>/", views.redirect, name='redirect'),
path("", views.index, name="index")
]
条目的顺序很重要,一定要在后面加上一个尾巴。/
,除非你有根像 views.index