diff --git a/nop/urls.py b/nop/urls.py
index 392d6336d2cb7ec83eb379a8967aa65d89cc4798..936af7a447063279d7c5a7fe0f08d1b3af335d0f 100644
--- a/nop/urls.py
+++ b/nop/urls.py
@@ -1,13 +1,15 @@
-from django.conf.urls import patterns, url
+from django.conf.urls import url
+from django.views.static import serve
+
 from views import get, get_current, nop_form
 
 import os
 
 NOP_SITE_MEDIA = os.path.join(os.path.dirname(__file__), 'site_media')
 
-urlpatterns = patterns('',
-                       url(r'^/get_current/?$', get_current),
-                       url(r'^/(?P<year>\d{4})/(?P<month>\d{1,2})/(?P<day>\d{1,2})/(?P<hour>\d{1,2})/(?P<minute>\d{1,2})/?$', get),
-                       url(r'^/?$', nop_form),
-                       url(r'^/static/(?P<path>.*)$', 'django.views.static.serve', {'document_root': NOP_SITE_MEDIA}),
-                       )
+urlpatterns = [
+    url(r'^get_current/?$', get_current),
+    url(r'^(?P<year>\d{4})/(?P<month>\d{1,2})/(?P<day>\d{1,2})/(?P<hour>\d{1,2})/(?P<minute>\d{1,2})/?$', get),
+    url(r'^$', nop_form),
+    url(r'^static/(?P<path>.*)$', serve, {'document_root': NOP_SITE_MEDIA}),
+]
diff --git a/program/urls.py b/program/urls.py
index a3badf345bfd77186fd513eda1e95d0f5e41e207..abd65432ede7a454797042134a1163f0f92ee7ab 100644
--- a/program/urls.py
+++ b/program/urls.py
@@ -1,29 +1,28 @@
 from django.conf import settings
-from django.conf.urls import patterns, url
+from django.conf.urls import url
 from django.views.decorators.cache import cache_page
-
+from django.views.static import serve
 import views
 
 import os
 
 PROGRAM_SITE_MEDIA = os.path.join(os.path.dirname(__file__), '../site_media')
 
-urlpatterns = patterns('',
-                       url(r'^today/?$', views.DayScheduleView.as_view()),
-                       url(r'^week/?$', views.WeekScheduleView.as_view()),
-                       url(r'^(?P<year>\d{4})/(?P<month>\d{1,2})/(?P<day>\d{1,2})/?$', views.DayScheduleView.as_view()),
-                       url(r'^(?P<year>\d{4})/(?P<week>\d{1,2})/?$', views.WeekScheduleView.as_view()),
-                       url(r'^current_box/?$', cache_page(60)(views.CurrentShowBoxView.as_view())),
-                       url(r'^hosts/?$', views.HostListView.as_view()),
-                       url(r'^hosts/(?P<pk>\d+)/?$', views.HostDetailView.as_view(), name='host-detail'),
-                       url(r'^tips/?$', views.RecommendationsListView.as_view()),
-                       url(r'^tips_box/?$', views.RecommendationsBoxView.as_view()),
-                       url(r'^shows/?$', views.ShowListView.as_view()),
-                       url(r'^shows/(?P<slug>[\w-]+)/?$', views.ShowDetailView.as_view(), name='show-detail'),
-                       url(r'^(?P<pk>\d+)/?$', views.TimeSlotDetailView.as_view(), name='timeslot-detail'),
-                       url(r'^styles.css$', views.StylesView.as_view())
-                       )
+urlpatterns = [
+    url(r'^today/?$', views.DayScheduleView.as_view()),
+    url(r'^week/?$', views.WeekScheduleView.as_view()),
+    url(r'^(?P<year>\d{4})/(?P<month>\d{1,2})/(?P<day>\d{1,2})/?$', views.DayScheduleView.as_view()),
+    url(r'^(?P<year>\d{4})/(?P<week>\d{1,2})/?$', views.WeekScheduleView.as_view()),
+    url(r'^current_box/?$', cache_page(60)(views.CurrentShowBoxView.as_view())),
+    url(r'^hosts/?$', views.HostListView.as_view()),
+    url(r'^hosts/(?P<pk>\d+)/?$', views.HostDetailView.as_view(), name='host-detail'),
+    url(r'^tips/?$', views.RecommendationsListView.as_view()),
+    url(r'^tips_box/?$', views.RecommendationsBoxView.as_view()),
+    url(r'^shows/?$', views.ShowListView.as_view()),
+    url(r'^shows/(?P<slug>[\w-]+)/?$', views.ShowDetailView.as_view(), name='show-detail'),
+    url(r'^(?P<pk>\d+)/?$', views.TimeSlotDetailView.as_view(), name='timeslot-detail'),
+    url(r'^styles.css$', views.StylesView.as_view())
+]
+
 if settings.DEBUG:
-    urlpatterns += \
-        patterns('',
-                 url(r'^static/(?P<path>.*)$', 'django.views.static.serve', {'document_root': PROGRAM_SITE_MEDIA}))
+    urlpatterns.append(url(r'^static/(?P<path>.*)$', serve, {'document_root': PROGRAM_SITE_MEDIA}))
diff --git a/pv/urls.py b/pv/urls.py
index 9617f8ee7b8c3a676f6d9dcf567573d0e8e8357c..f98373fbfd1f913a59a8ae01f0c0db10c7701f3d 100644
--- a/pv/urls.py
+++ b/pv/urls.py
@@ -1,22 +1,20 @@
 from django.conf import settings
-from django.conf.urls import patterns, url, include
+from django.conf.urls import url, include
 from django.contrib import admin
+from django.views.static import serve
 
 from program.views import json_day_schedule, json_timeslots_specials
 
 admin.autodiscover()
 
-urlpatterns = patterns('',
-                       url(r'^admin/', include(admin.site.urls)),
-                       url(r'^program/', include('program.urls')),
-                       url(r'^nop', include('nop.urls')),
-                       url(r'^tinymce/', include('tinymce.urls')),
-                       url(r'^export/day_schedule/(?P<year>\d{4})/(?P<month>\d{1,2})/(?P<day>\d{1,2})/$', json_day_schedule),
-                       url(r'^export/timeslots_specials.json$', json_timeslots_specials)
-                       )
+urlpatterns = [
+    url(r'^admin/', include(admin.site.urls)),
+    url(r'^program/', include('program.urls')),
+    url(r'^nop', include('nop.urls')),
+    url(r'^tinymce/', include('tinymce.urls')),
+    url(r'^export/day_schedule/(?P<year>\d{4})/(?P<month>\d{1,2})/(?P<day>\d{1,2})/$', json_day_schedule),
+    url(r'^export/timeslots_specials.json$', json_timeslots_specials)
+]
 
 if settings.DEBUG:
-    urlpatterns += patterns('',
-                            (r'^site_media/(?P<path>.*)$', 'django.views.static.serve',
-                             {'document_root': settings.MEDIA_ROOT})
-                            )
+    urlpatterns.append(url(r'^site_media/(?P<path>.*)$', serve, {'document_root': settings.MEDIA_ROOT}))