django - Django - URL 配置
问题描述
这是我想问的问题,如果我尝试此代码,我可以进入登录页面,但我的网址看起来像这样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")
]
条目的顺序很重要,并且总是添加一个尾随/
,除非你有 root 喜欢views.index
推荐阅读
- image - 如何使用 github 自述文件清除两者?
- python - 在 Python3 枚举值中混合自动实例和字符串
- .net - 从文件加载的字符串上的 IndexOf - dotnet 5.0 的速度是 dotnetcore 3.1 的一半
- thymeleaf - Thymeleaf - 获取语言环境并进行比较
- linux - vi如何同时删除当前行和上一行?
- batch-file - 如何通过读取其内容而不是扩展名来识别给定文件是否是批处理文件?
- python - 如何找到坐标
使用 Selenium 和 Python 的元素 - javascript - 为什么我变成了 appenChild ?[SVG]
- java - 如何将键绑定到 JButton?
- android - 如何在android的SD卡根目录下创建文件夹?