from django.conf.urls import patterns, url namespace_regex = r"[a-zA-Z\d._-]+" article_slug = r'/(?P<article_path>' + namespace_regex + r'/[a-zA-Z\d_-]*)' namespace = r'/(?P<namespace>' + namespace_regex + r')' urlpatterns = patterns('', url(r'^$', 'simplewiki.views.root_redirect', name='wiki_root'), url(r'^view' + article_slug, 'simplewiki.views.view', name='wiki_view'), url(r'^view_revision/(?P<revision_number>[0-9]+)' + article_slug, 'simplewiki.views.view_revision', name='wiki_view_revision'), url(r'^edit' + article_slug, 'simplewiki.views.edit', name='wiki_edit'), url(r'^create' + article_slug, 'simplewiki.views.create', name='wiki_create'), url(r'^history' + article_slug + r'(?:/(?P<page>[0-9]+))?$', 'simplewiki.views.history', name='wiki_history'), url(r'^search_related' + article_slug, 'simplewiki.views.search_add_related', name='search_related'), url(r'^random/?$', 'simplewiki.views.random_article', name='wiki_random'), url(r'^revision_feed' + namespace + r'/(?P<page>[0-9]+)?$', 'simplewiki.views.revision_feed', name='wiki_revision_feed'), url(r'^search' + namespace + r'?$', 'simplewiki.views.search_articles', name='wiki_search_articles'), url(r'^list' + namespace + r'?$', 'simplewiki.views.search_articles', name='wiki_list_articles'), # Just an alias for the search, but you usually don't submit a search term )