code: def decorated_patterns(func, *urls):
      
  
      def decorate(urls, func):
          for url in urls:
              if isinstance(url, RegexURLPattern):
                  url.__class__ = DecoratedURLPattern
                  if not hasattr(url, "_decorate_with"):
                      setattr(url, "_decorate_with", [])
                  url._decorate_with.append(func)
              elif isinstance(url, RegexURLResolver):
                  for pp in url.url_patterns:
                      if isinstance(pp, RegexURLPattern):
                          pp.__class__ = DecoratedURLPattern
                          if not hasattr(pp, "_decorate_with"):
                              setattr(pp, "_decorate_with", [])
                          pp._decorate_with.append(func)
      if func:
          if not isinstance(func, (list, tuple)):
              func = [func]
          for f in func:
              decorate(urls, f)
  
      return urls
docs: Utility function to decorate a group of url in urls.py
  
      Taken from http://djangosnippets.org/snippets/532/ + comments
      See also http://friendpaste.com/6afByRiBB9CMwPft3a6lym
  
      Example:
      urlpatterns = [
          url(r'^language/(?P<lang_code>[a-z]+)$', views.MyView, name='name'),
      ] + decorated_patterns(login_required, url(r'^', include('cms.urls')),