|
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