|
6 | 6 | from django.conf.urls.i18n import i18n_patterns
|
7 | 7 | from django.conf.urls.static import static
|
8 | 8 | from django.contrib import admin
|
| 9 | +from django.urls import reverse |
| 10 | +from django.urls.base import reverse_lazy |
9 | 11 | from django.utils.translation import ugettext_lazy as _
|
10 | 12 | from django.views import defaults as default_views
|
11 | 13 | from django.views.generic import TemplateView
|
12 | 14 |
|
13 | 15 | # URLs with with i18n
|
| 16 | +from django.views.generic.base import RedirectView |
| 17 | + |
14 | 18 | from pycones.schedules.views import pentabarf_view, xcal_view, icalendar_view
|
15 | 19 |
|
16 | 20 | urlpatterns = i18n_patterns(
|
17 | 21 | url(r'^$', TemplateView.as_view(template_name='pages/home.html'), name="home"),
|
18 | 22 | url(r'^code-of-conduct/$', TemplateView.as_view(template_name='pages/code_of_conduct.html'), name="code-of-conduct"),
|
19 | 23 | url(r'^tickets/$', TemplateView.as_view(template_name='pages/tickets.html'), name="tickets"),
|
20 | 24 | url(r'^info/$', TemplateView.as_view(template_name='pages/info.html'), name="info"),
|
21 |
| - url(r'^keynoters-speakers/$', TemplateView.as_view(template_name='pages/keynoters.html'), name="keynoters"), |
| 25 | + url(r'^keynoter-speakers/$', TemplateView.as_view(template_name='pages/keynoters.html'), name="keynoter-speakers"), |
| 26 | + url(r'^keynoters-speakers/$', RedirectView.as_view( |
| 27 | + url=reverse_lazy("keynoter-speakers"), permanent=True |
| 28 | + ), name="keynoters-speakers"), |
22 | 29 | url(r'^blog/', include('pycones.blog.urls', namespace="blog")),
|
23 | 30 | url(r'^users/', include('pycones.users.urls', namespace="users")),
|
24 | 31 | url(r'^proposals/', include('pycones.proposals.urls', namespace="proposals")),
|
|
0 commit comments