目前的网址并不匹配其中任何一个

时间:2015-01-15 18:11:52

标签: python django django-urls

我已经在其他stackoverflow线程上检查了这个错误,但是在我的代码上没有发现任何错误。也许我累了,但对我来说似乎没问题。

website.urls.py:

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

urlpatterns = patterns('',
    # Register and Login
    url(r'^inscription\.html$', 'membres.views.register'),

    # List of users
    url(r'^membres', include('membres.urls')),
)

membres.urls.py:

from django.conf.urls import patterns, url

urlpatterns = patterns('membres.views',
    url(r'^/(?P<slug>\d+)\.html$', 'view_user_public')
)

我当然得到:

Using the URLconf defined in website.urls, Django tried these URL patterns, in this order:

^inscription\.html$
^membres ^/(?P<slug>\d+)\.html$

The current URL, membres/nicolas.html, didn't match any of these.

inscription.html正常运作。在membres.urls.py文件中,如果我将r'^/(?P<slug>\d+)\.html$更改为r'^\.html$,则网址membres.html正常运行并加载视图...

r'^/(?P<slug>\d+)\.html$出了什么问题?

非常感谢

1 个答案:

答案 0 :(得分:4)

\d+仅匹配数字。 nicolas不是由数字组成的。

\w+是您正在寻找的。

更一般地说,[\w-]+用于通常包含连字符的slu。。