gpt4 book ai didi

python - django 中的 url 模式匹配很困惑

转载 作者:太空宇宙 更新时间:2023-11-03 16:30:28 26 4
gpt4 key购买 nike

我有一个 url.py 文件,如下 -

app_name = "fronta"
urlpatterns = [
url(r'^$', views.index, name='index'),
url(r'home/', views.index, name='home'),
url(r'lostform/', views.lostform, name='lostform'),
url(r'submitlostform/',views.submitlostform, name="submitlostform"),
]

我将表单的操作设置如下 -

<form  method="post" action="{% url 'fronta:submitlostform'%}">

当我单击提交按钮时,地址栏中的网址从 http://localhost:8000/fronta/lostform/ 更改为 http://localhost:8000/fronta/submitlostform/ 但页面重定向。

但是,如果我更改 urls.py 文件中的网址顺序并将 url(r'submitlostform/',views.submitlostform, name="submitlostform") 行移到网址顶部,它有效并且页面被重定向。或者如果我将 url 表单的名称 submitlostform 更改为 lostformsubmit 这也有效。

为什么会发生这种情况。我很困惑 url 模式匹配在这里是如何工作的。如果需要更多信息,请告诉我。

最佳答案

正则表达式。

url(r'lostform/', views.lostform, name='lostform'),

这匹配lostform/,但也匹配123lostform/lostform/123123lostform/321

更改为

url(r'^lostform/$', views.lostform, name='lostform'),
  • ^ 表示“开始”

  • $ 表示“结束”

相应地更改所有其他 URL 模式。

顺便说一句,这就是第一个 URL 模式的含义:

url(r'^$', views.index, name='index'),

URL 的开头 ^,后跟任何字符,最后是 URL 的结尾 $

关于python - django 中的 url 模式匹配很困惑,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37640484/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com