【发布时间】:2011-10-04 04:33:27
【问题描述】:
我有以下网址
url(r'^(?P<name>[A-Za-z0-9-]+)/$', 'user', name='user')
这匹配像 /tom/ 和 /tom-max/ 这样的 URL,但不匹配我想要的像 /tom-2/ 或 tom-brandy-monster 这样的 URL。
基本上我想捕捉连字符、字母和数字的组合。
更新
这是在我的 urls.py 中
urlpatterns = patterns('',
url(r'^$', 'homepage.views.home', name='home'),
url(r'^user/', include('users.urls')),
url(r'^plans/', include('plans.urls')),
url(r'^admin/', include(admin.site.urls)),
)
这是在我的 users/urls.py 中
urlpatterns = patterns(
'users.views',
url(r'^(?P<user>[A-Za-z0-9-]+)/$', 'user', name='user'),
)
更新2
在我看来是错误的。此正则表达式适用于所有上述示例。
【问题讨论】:
-
看起来应该可以了。我建议仔细查看在此之前发生的模式,看看它们是否在请求到达此模式之前捕获了请求。
-
@Peter:你是对的;看我的回答。
-
那是
users.urls.py?我希望你的意思是users/urls.py? -
我不太确定出了什么问题。我假设在您的测试中,您都在前面加上
user/。而且我认为您在urls.py文件中遗漏的唯一内容是导入? -
你为什么认为它与那些不匹配?
标签: regex django django-urls