Django:urlpatterns中“$”符号的用途是什么?

2024-09-28 23:21:43 发布

您现在位置:Python中文网/ 问答频道 /正文

我花了大约1个小时的时间试图弄明白为什么我的Django路由/url不能用于create、edit和delete。这张单子很管用。我的问题是:

urlpatterns = [
    ...
    ###
    url(r'^solicitacao', views.solicitacao_list, name='solicitacao_list'),
    url(r'^solicitacao_new$', views.solicitacao_create, name='solicitacao_new'),
    url(r'^solicitacao_edit/(?P<pk>\d+)$', views.solicitacao_update, name='solicitacao_edit'),
    url(r'^solicitacao_delete/(?P<pk>\d+)$', views.solicitacao_delete, name='solicitacao_delete'),
]

第一个url的末尾缺少一个$符号,当我尝试访问列表以外的其他url时,没有出现错误或任何消息

不知怎的,我的路线搞砸了。我最终被重定向到列表url,即使重定向没有出现在控制台上。有更多django经验的人能给我解释一下$symbol在路由中的含义吗?为什么它会影响创建/编辑/删除url?你知道吗


Tags: nameurl路由列表newcreate时间delete
1条回答
网友
1楼 · 发布于 2024-09-28 23:21:43

Django URL以正则表达式的形式形成

$是与字符串结尾匹配的正则表达式字符。这符合一个位置,而不是一个字符。你知道吗

因此调用first match view,考虑到您的所有URL都以requestacao开头,在本例中,每个URL的first match都是列表

同样地,^也是定义字符串开头的regex字符,所以如果您有url url(r'^asolicitacao', views.someview, name='test'),

它通常被称为

相关问题 更多 >