File: urls.py

package info (click to toggle)
python-django 1.2.3-3%2Bsqueeze15
  • links: PTS, VCS
  • area: main
  • in suites: squeeze-lts
  • size: 29,720 kB
  • ctags: 21,538
  • sloc: python: 101,631; xml: 574; makefile: 149; sh: 121; sql: 7
file content (125 lines) | stat: -rw-r--r-- 4,935 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
# 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_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_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'),
)