namespace_urls.py 1.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041
  1. from django.conf.urls.defaults import *
  2. class URLObject(object):
  3. def __init__(self, app_name, namespace):
  4. self.app_name = app_name
  5. self.namespace = namespace
  6. def urls(self):
  7. return patterns('',
  8. url(r'^inner/$', 'empty_view', name='urlobject-view'),
  9. url(r'^inner/(?P<arg1>\d+)/(?P<arg2>\d+)/$', 'empty_view', name='urlobject-view'),
  10. ), self.app_name, self.namespace
  11. urls = property(urls)
  12. testobj1 = URLObject('testapp', 'test-ns1')
  13. testobj2 = URLObject('testapp', 'test-ns2')
  14. default_testobj = URLObject('testapp', 'testapp')
  15. otherobj1 = URLObject('nodefault', 'other-ns1')
  16. otherobj2 = URLObject('nodefault', 'other-ns2')
  17. urlpatterns = patterns('regressiontests.urlpatterns_reverse.views',
  18. url(r'^normal/$', 'empty_view', name='normal-view'),
  19. url(r'^normal/(?P<arg1>\d+)/(?P<arg2>\d+)/$', 'empty_view', name='normal-view'),
  20. url(r'^mixed_args/(\d+)/(?P<arg2>\d+)/$', 'empty_view', name='mixed-args'),
  21. url(r'^no_kwargs/(\d+)/(\d+)/$', 'empty_view', name='no-kwargs'),
  22. (r'^test1/', include(testobj1.urls)),
  23. (r'^test2/', include(testobj2.urls)),
  24. (r'^default/', include(default_testobj.urls)),
  25. (r'^other1/', include(otherobj1.urls)),
  26. (r'^other2/', include(otherobj2.urls)),
  27. (r'^ns-included1/', include('regressiontests.urlpatterns_reverse.included_namespace_urls', namespace='inc-ns1')),
  28. (r'^ns-included2/', include('regressiontests.urlpatterns_reverse.included_namespace_urls', namespace='inc-ns2')),
  29. (r'^included/', include('regressiontests.urlpatterns_reverse.included_namespace_urls')),
  30. )