PageRenderTime 34ms CodeModel.GetById 22ms RepoModel.GetById 0ms app.codeStats 0ms

/tests/regressiontests/views/urls.py

https://code.google.com/p/mango-py/
Python | 166 lines | 151 code | 14 blank | 1 comment | 0 complexity | 8978e73aea4ff8132b776e142d013fdc MD5 | raw file
Possible License(s): BSD-3-Clause
  1. # coding: utf-8
  2. from os import path
  3. from django.conf.urls.defaults import *
  4. from models import *
  5. import views
  6. base_dir = path.dirname(path.abspath(__file__))
  7. media_dir = path.join(base_dir, 'media')
  8. locale_dir = path.join(base_dir, 'locale')
  9. js_info_dict = {
  10. 'domain': 'djangojs',
  11. 'packages': ('regressiontests.views',),
  12. }
  13. js_info_dict_english_translation = {
  14. 'domain': 'djangojs',
  15. 'packages': ('regressiontests.views.app0',),
  16. }
  17. js_info_dict_multi_packages1 = {
  18. 'domain': 'djangojs',
  19. 'packages': ('regressiontests.views.app1', 'regressiontests.views.app2'),
  20. }
  21. js_info_dict_multi_packages2 = {
  22. 'domain': 'djangojs',
  23. 'packages': ('regressiontests.views.app3', 'regressiontests.views.app4'),
  24. }
  25. date_based_info_dict = {
  26. 'queryset': Article.objects.all(),
  27. 'date_field': 'date_created',
  28. 'month_format': '%m',
  29. }
  30. object_list_dict = {
  31. 'queryset': Article.objects.all(),
  32. 'paginate_by': 2,
  33. }
  34. object_list_no_paginate_by = {
  35. 'queryset': Article.objects.all(),
  36. }
  37. numeric_days_info_dict = dict(date_based_info_dict, day_format='%d')
  38. date_based_datefield_info_dict = dict(date_based_info_dict, queryset=DateArticle.objects.all())
  39. urlpatterns = patterns('',
  40. (r'^$', views.index_page),
  41. # Default views
  42. (r'^shortcut/(\d+)/(.*)/$', 'django.views.defaults.shortcut'),
  43. (r'^non_existing_url/', 'django.views.defaults.page_not_found'),
  44. (r'^server_error/', 'django.views.defaults.server_error'),
  45. # i18n views
  46. (r'^i18n/', include('django.conf.urls.i18n')),
  47. (r'^jsi18n/$', 'django.views.i18n.javascript_catalog', js_info_dict),
  48. (r'^jsi18n_english_translation/$', 'django.views.i18n.javascript_catalog', js_info_dict_english_translation),
  49. (r'^jsi18n_multi_packages1/$', 'django.views.i18n.javascript_catalog', js_info_dict_multi_packages1),
  50. (r'^jsi18n_multi_packages2/$', 'django.views.i18n.javascript_catalog', js_info_dict_multi_packages2),
  51. # Static views
  52. (r'^site_media/(?P<path>.*)$', 'django.views.static.serve', {'document_root': media_dir}),
  53. # Special URLs for particular regression cases.
  54. url(u'^??/$', 'regressiontests.views.views.redirect'),
  55. url(u'^??/target/$', 'regressiontests.views.views.index_page'),
  56. )
  57. # Date-based generic views.
  58. urlpatterns += patterns('django.views.generic.date_based',
  59. (r'^date_based/object_detail/(?P<year>\d{4})/(?P<month>\d{1,2})/(?P<day>\d{1,2})/(?P<slug>[-\w]+)/$',
  60. 'object_detail',
  61. dict(slug_field='slug', **date_based_info_dict)),
  62. (r'^date_based/object_detail/(?P<year>\d{4})/(?P<month>\d{1,2})/(?P<day>\d{1,2})/(?P<slug>[-\w]+)/allow_future/$',
  63. 'object_detail',
  64. dict(allow_future=True, slug_field='slug', **date_based_info_dict)),
  65. (r'^date_based/archive_day/(?P<year>\d{4})/(?P<month>\d{1,2})/(?P<day>\d{1,2})/$',
  66. 'archive_day',
  67. numeric_days_info_dict),
  68. (r'^date_based/archive_month/(?P<year>\d{4})/(?P<month>\d{1,2})/$',
  69. 'archive_month',
  70. date_based_info_dict),
  71. (r'^date_based/datefield/archive_month/(?P<year>\d{4})/(?P<month>\d{1,2})/$',
  72. 'archive_month',
  73. date_based_datefield_info_dict),
  74. )
  75. # crud generic views.
  76. urlpatterns += patterns('django.views.generic.create_update',
  77. (r'^create_update/member/create/article/$', 'create_object',
  78. dict(login_required=True, model=Article)),
  79. (r'^create_update/create/article/$', 'create_object',
  80. dict(post_save_redirect='/views/create_update/view/article/%(slug)s/',
  81. model=Article)),
  82. (r'^create_update/update/article/(?P<slug>[-\w]+)/$', 'update_object',
  83. dict(post_save_redirect='/views/create_update/view/article/%(slug)s/',
  84. slug_field='slug', model=Article)),
  85. (r'^create_update/create_custom/article/$', views.custom_create),
  86. (r'^create_update/delete/article/(?P<slug>[-\w]+)/$', 'delete_object',
  87. dict(post_delete_redirect='/views/create_update/', slug_field='slug',
  88. model=Article)),
  89. # No post_save_redirect and no get_absolute_url on model.
  90. (r'^create_update/no_redirect/create/article/$', 'create_object',
  91. dict(model=Article)),
  92. (r'^create_update/no_redirect/update/article/(?P<slug>[-\w]+)/$',
  93. 'update_object', dict(slug_field='slug', model=Article)),
  94. # get_absolute_url on model, but no passed post_save_redirect.
  95. (r'^create_update/no_url/create/article/$', 'create_object',
  96. dict(model=UrlArticle)),
  97. (r'^create_update/no_url/update/article/(?P<slug>[-\w]+)/$',
  98. 'update_object', dict(slug_field='slug', model=UrlArticle)),
  99. )
  100. urlpatterns += patterns('django.views.generic.list_detail',
  101. (r'^object_list/page(?P<page>[\w]*)/$', 'object_list', object_list_dict),
  102. (r'^object_list_no_paginate_by/page(?P<page>[0-9]+)/$', 'object_list',
  103. object_list_no_paginate_by),
  104. )
  105. # a view that raises an exception for the debug view
  106. urlpatterns += patterns('',
  107. (r'^raises/$', views.raises),
  108. (r'^raises404/$', views.raises404),
  109. )
  110. # rediriects, both temporary and permanent, with non-ASCII targets
  111. urlpatterns += patterns('django.views.generic.simple',
  112. ('^nonascii_redirect/$', 'redirect_to',
  113. {'url': u'/views/??/target/', 'permanent': False}),
  114. ('^permanent_nonascii_redirect/$', 'redirect_to',
  115. {'url': u'/views/??/target/', 'permanent': True}),
  116. )
  117. urlpatterns += patterns('regressiontests.views.views',
  118. url(r'view_exception/(?P<n>\d+)/$', 'view_exception', name='view_exception'),
  119. url(r'template_exception/(?P<n>\d+)/$', 'template_exception', name='template_exception'),
  120. url(r'^raises_template_does_not_exist/$', 'raises_template_does_not_exist', name='raises_template_does_not_exist'),
  121. (r'^shortcuts/render_to_response/$', 'render_to_response_view'),
  122. (r'^shortcuts/render_to_response/request_context/$', 'render_to_response_view_with_request_context'),
  123. (r'^shortcuts/render_to_response/mimetype/$', 'render_to_response_view_with_mimetype'),
  124. (r'^shortcuts/render/$', 'render_view'),
  125. (r'^shortcuts/render/base_context/$', 'render_view_with_base_context'),
  126. (r'^shortcuts/render/content_type/$', 'render_view_with_content_type'),
  127. (r'^shortcuts/render/status/$', 'render_view_with_status'),
  128. (r'^shortcuts/render/current_app/$', 'render_view_with_current_app'),
  129. (r'^shortcuts/render/current_app_conflict/$', 'render_view_with_current_app_conflict'),
  130. )
  131. # simple generic views.
  132. urlpatterns += patterns('django.views.generic.simple',
  133. (r'^simple/redirect_to/$', 'redirect_to', dict(url='/views/simple/target/')),
  134. (r'^simple/redirect_to_temp/$', 'redirect_to', dict(url='/views/simple/target/', permanent=False)),
  135. (r'^simple/redirect_to_none/$', 'redirect_to', dict(url=None)),
  136. (r'^simple/redirect_to_arg/(?P<id>\d+)/$', 'redirect_to', dict(url='/views/simple/target_arg/%(id)s/')),
  137. (r'^simple/redirect_to_query/$', 'redirect_to', dict(url='/views/simple/target/', query_string=True)),
  138. )