Newer
Older
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
# -*- coding: utf-8 -*-
from __future__ import unicode_literals
from django.utils.text import slugify
from django.conf.urls import patterns, url, include
from django.conf.urls.i18n import i18n_patterns
from .models import newsbox_models
from .views import NewsboxArchiveView, NewsboxYearArchiveView, \
NewsboxMonthArchiveView, NewsboxDayArchiveView, NewsboxDetailView
def get_urls(
archive_view=NewsboxArchiveView,
year_archive_view=NewsboxYearArchiveView,
month_archive_view=NewsboxMonthArchiveView,
day_archive_view=NewsboxDayArchiveView,
detail_view=NewsboxDetailView):
urls = ['',]
for model in newsbox_models :
app_name = model._meta.app_label.lower()
model_name = model.__name__.lower()
viewurl = 'newsbox/%s/%s/'\
% (app_name, model_name,)
urls.append(
url(
r'^%s$' % viewurl,
archive_view.as_view(
model=model,),
name='%s_%s_list' % (app_name, model_name),
),
)
viewurl=viewurl+'(?P<year>\d{4})/'
urls.append(
url(
r'^%s$' % viewurl,
year_archive_view.as_view(
model=model,),
name='%s_%s_list_y' % (app_name, model_name),
),
)
viewurl=viewurl+'(?P<month>\d{2})/'
urls.append(
url(
r'^%s$' % viewurl,
month_archive_view.as_view(
model=model,),
name='%s_%s_list_ym' % (app_name, model_name),
),
)
viewurl=viewurl+'(?P<day>\d{2})/'
urls.append(
url(
r'^%s$' % viewurl,
day_archive_view.as_view(
model=model,),
name='%s_%s_list_ymd' % (app_name, model_name),
),
)
urls.append(
url(
r'^%s(?P<slug>[0-9a-zA-Z_-]+)/$' % viewurl,
detail_view.as_view(
model=model,),
name='%s_%s_detail' % (app_name, model_name),
),
)
return urls
urls = get_urls()
urlpatterns = patterns(*urls)