diff options
Diffstat (limited to 'parts/django/tests/regressiontests/views/urls.py')
-rw-r--r-- | parts/django/tests/regressiontests/views/urls.py | 131 |
1 files changed, 131 insertions, 0 deletions
diff --git a/parts/django/tests/regressiontests/views/urls.py b/parts/django/tests/regressiontests/views/urls.py new file mode 100644 index 0000000..0ccb988 --- /dev/null +++ b/parts/django/tests/regressiontests/views/urls.py @@ -0,0 +1,131 @@ +# coding: utf-8 +from os import path + +from django.conf.urls.defaults import * + +from models import * +import views + + +base_dir = path.dirname(path.abspath(__file__)) +media_dir = path.join(base_dir, 'media') +locale_dir = path.join(base_dir, 'locale') + +js_info_dict = { + 'domain': 'djangojs', + 'packages': ('regressiontests.views',), +} + +js_info_dict_english_translation = { + 'domain': 'djangojs', + 'packages': ('regressiontests.views.app0',), +} + +js_info_dict_multi_packages1 = { + 'domain': 'djangojs', + 'packages': ('regressiontests.views.app1', 'regressiontests.views.app2'), +} + +js_info_dict_multi_packages2 = { + 'domain': 'djangojs', + 'packages': ('regressiontests.views.app3', 'regressiontests.views.app4'), +} + +date_based_info_dict = { + 'queryset': Article.objects.all(), + 'date_field': 'date_created', + 'month_format': '%m', +} +numeric_days_info_dict = dict(date_based_info_dict, day_format='%d') + +date_based_datefield_info_dict = dict(date_based_info_dict, queryset=DateArticle.objects.all()) + +urlpatterns = patterns('', + (r'^$', views.index_page), + + # Default views + (r'^shortcut/(\d+)/(.*)/$', 'django.views.defaults.shortcut'), + (r'^non_existing_url/', 'django.views.defaults.page_not_found'), + (r'^server_error/', 'django.views.defaults.server_error'), + + # i18n views + (r'^i18n/', include('django.conf.urls.i18n')), + (r'^jsi18n/$', 'django.views.i18n.javascript_catalog', js_info_dict), + (r'^jsi18n_english_translation/$', 'django.views.i18n.javascript_catalog', js_info_dict_english_translation), + (r'^jsi18n_multi_packages1/$', 'django.views.i18n.javascript_catalog', js_info_dict_multi_packages1), + (r'^jsi18n_multi_packages2/$', 'django.views.i18n.javascript_catalog', js_info_dict_multi_packages2), + + # Static views + (r'^site_media/(?P<path>.*)$', 'django.views.static.serve', {'document_root': media_dir}), + + # Special URLs for particular regression cases. + url(u'^中文/$', 'regressiontests.views.views.redirect'), + url(u'^中文/target/$', 'regressiontests.views.views.index_page'), +) + +# Date-based generic views. +urlpatterns += patterns('django.views.generic.date_based', + (r'^date_based/object_detail/(?P<year>\d{4})/(?P<month>\d{1,2})/(?P<day>\d{1,2})/(?P<slug>[-\w]+)/$', + 'object_detail', + dict(slug_field='slug', **date_based_info_dict)), + (r'^date_based/object_detail/(?P<year>\d{4})/(?P<month>\d{1,2})/(?P<day>\d{1,2})/(?P<slug>[-\w]+)/allow_future/$', + 'object_detail', + dict(allow_future=True, slug_field='slug', **date_based_info_dict)), + (r'^date_based/archive_day/(?P<year>\d{4})/(?P<month>\d{1,2})/(?P<day>\d{1,2})/$', + 'archive_day', + numeric_days_info_dict), + (r'^date_based/archive_month/(?P<year>\d{4})/(?P<month>\d{1,2})/$', + 'archive_month', + date_based_info_dict), + (r'^date_based/datefield/archive_month/(?P<year>\d{4})/(?P<month>\d{1,2})/$', + 'archive_month', + date_based_datefield_info_dict), +) + +# crud generic views. + +urlpatterns += patterns('django.views.generic.create_update', + (r'^create_update/member/create/article/$', 'create_object', + dict(login_required=True, model=Article)), + (r'^create_update/create/article/$', 'create_object', + dict(post_save_redirect='/views/create_update/view/article/%(slug)s/', + model=Article)), + (r'^create_update/update/article/(?P<slug>[-\w]+)/$', 'update_object', + dict(post_save_redirect='/views/create_update/view/article/%(slug)s/', + slug_field='slug', model=Article)), + (r'^create_update/create_custom/article/$', views.custom_create), + (r'^create_update/delete/article/(?P<slug>[-\w]+)/$', 'delete_object', + dict(post_delete_redirect='/views/create_update/', slug_field='slug', + model=Article)), + + # No post_save_redirect and no get_absolute_url on model. + (r'^create_update/no_redirect/create/article/$', 'create_object', + dict(model=Article)), + (r'^create_update/no_redirect/update/article/(?P<slug>[-\w]+)/$', + 'update_object', dict(slug_field='slug', model=Article)), + + # get_absolute_url on model, but no passed post_save_redirect. + (r'^create_update/no_url/create/article/$', 'create_object', + dict(model=UrlArticle)), + (r'^create_update/no_url/update/article/(?P<slug>[-\w]+)/$', + 'update_object', dict(slug_field='slug', model=UrlArticle)), +) + +# a view that raises an exception for the debug view +urlpatterns += patterns('', + (r'^raises/$', views.raises), + (r'^raises404/$', views.raises404), +) + +# rediriects, both temporary and permanent, with non-ASCII targets +urlpatterns += patterns('django.views.generic.simple', + ('^nonascii_redirect/$', 'redirect_to', + {'url': u'/views/中文/target/', 'permanent': False}), + ('^permanent_nonascii_redirect/$', 'redirect_to', + {'url': u'/views/中文/target/', 'permanent': True}), +) + +urlpatterns += patterns('regressiontests.views.views', + url(r'view_exception/(?P<n>\d+)/$', 'view_exception', name='view_exception'), + url(r'template_exception/(?P<n>\d+)/$', 'template_exception', name='template_exception'), +) |