diff --git a/program/templates/speaker_detail.html b/program/templates/speaker_detail.html new file mode 100644 index 00000000..15bf28bc --- /dev/null +++ b/program/templates/speaker_detail.html @@ -0,0 +1,21 @@ +{% extends 'base.html' %} +{% load commonmark %} + +{% block content %} + +

{{ speaker.name }}

+ +{{ speaker.biography|commonmark }} +
+ +{% if speaker.events.exists %} +{% for event in speaker.events.all %} + +

{{ event.title }}

+ {{ event.abstract|commonmark }} + +{% endfor %} + +{% endif %} + +{% endblock %} diff --git a/program/urls.py b/program/urls.py index da9e632d..fd060447 100644 --- a/program/urls.py +++ b/program/urls.py @@ -5,7 +5,7 @@ urlpatterns = [ url(r'^(?P\d{4})-(?P\d{2})-(?P\d{2})/$', views.ProgramDayView.as_view(), name='day'), url(r'^$', views.ProgramOverviewView.as_view(), name='index'), url(r'^speakers/$', views.SpeakerListView.as_view(), name='speaker_index'), - url(r'speakers/(?P[-_\w+]+)/$', views.SpeakerDetail.as_view(), name='speaker_detail'), + url(r'speakers/(?P[-_\w+]+)/$', views.SpeakerDetailView.as_view(), name='speaker_detail'), url(r'^events/$', views.EventListView.as_view(), name='events_index'), url(r'^(?P[-_\w+]+)/$', views.EventDetailView.as_view(), name='event'), ] diff --git a/program/views.py b/program/views.py index 925ddb53..38b73162 100644 --- a/program/views.py +++ b/program/views.py @@ -6,6 +6,11 @@ from django.views.generic import ListView, TemplateView, DetailView from camps.models import Day from . import models + +class SpeakerDetailView(DetailView): + model = models.Speaker + template_name = 'speaker_detail.html' + class SpeakerListView(ListView): model = models.Speaker template_name = 'speaker_list.html'