Skip to main content
 首页 » 编程设计

python之使用正则表达式发送多个 url

2024年08月27日30insus

我有两个 URL 调度。一个在 http://domain.com/thisword 上捕捉文字,而第二个调度是 http://domain.com/sitemap.xml 上的站点地图。当前不正确的代码是:

urlpatterns = patterns('', 
    url(ur'(?P<search_word>[ÆØÅæøåa-zA-Z]*)/?$', 'website.views.index_view', name='website_index'), 
    url(r'^sitemap\.xml$', 'django.contrib.sitemaps.views.sitemap', {'sitemaps': sitemaps}), 
) 

所以基本上第一次调度捕获所有内容,包括 sitemap.xml。是否可以按照以下方式进行多次调度?

请您参考如下方法:

好问题。 (感谢您在此处发布完整代码。我想现在我知道您想要什么了。)最简单的解决方案是像这样反转模式:

urlpatterns = patterns('', 
    url(r'^sitemap\.xml$', 'django.contrib.sitemaps.views.sitemap', {'sitemaps': sitemaps}), 
    url(ur'(?P<search_word>[ÆØÅæøåa-zA-Z]*)/?$', 'website.views.index_view', name='website_index'), 
) 

调度程序会在找到匹配项时进行调度。因此,如果一个 url 与上面 urlpatterns 中的 r'^sitemap\.xml$ 匹配,则调度程序不会继续到第二个模式