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

时间:2017-02-01 01:45:09

标签: python django

我只是失去了大约1小时试图弄清楚为什么我的Django路线/网址不适用于创建,编辑和删除。刚刚开始工作。这是我遇到的问题:

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'),
]

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

不知怎的,我的路线搞砸了。我最终被重定向到列表网址,即使重定向没有出现在控制台上。任何拥有更多django经验的人都能解释一下$符号在路线中的含义,以及为什么它会影响创建/编辑/删除网址?

1 个答案:

答案 0 :(得分:3)

Django网址形成为正则表达式

$是匹配字符串结尾的正则表达式字符。这匹配一个位置,而不是一个角色。

首先调用第一个匹配视图,考虑所有网址都以solicitacao 开头,第一个匹配列表就此而言

同样^也是正则字符,用于定义字符串的开头,以防你有网址spark-streaming-kafka_2.10

通常会被称为