Django URL正则表达式完全匹配(基本正则表达式)

时间:2017-10-31 05:48:17

标签: python regex django

我是django的新手并尝试构建我的第一个API。

网址结构如下,但问题是:

当网址的第一部分匹配时,它会调用该网址。

实施例。如果我致电'welcome/example'它与welcome匹配,并且未与实际的welcome/example相符...

from django.conf.urls import include, url
from django.contrib import admin


urlpatterns = [
    url(r'^login/', include('shopify_app.urls')),
    url(r'^', include('home.urls'), name='root_path'),
    url(r'^admin/', admin.site.urls),
    url(r'^welcome/', views.welcome), 
    url(r'^welcome/example', views.create_example), #regex not working
]

2 个答案:

答案 0 :(得分:3)

最好使用$进行完全匹配,所以请改用

url(r'^welcome/$', views.welcome), 
url(r'^welcome/example/$', views.create_example)

然后转到/welcome//welcome/example/

答案 1 :(得分:0)

是的,最好使用$作为完全匹配answer given by @Exprator,如果你不想这样做, 然后你可以将你的网址顺序洗牌

url(r'^welcome/example', views.create_example)
url(r'^welcome/', views.welcome)

在子网址之后包含主网址是一个很好的做法,那么你就不会陷入这种问题