diff --git a/news/models.py b/news/models.py
index 6afba3a9..2e4b7d9e 100644
--- a/news/models.py
+++ b/news/models.py
@@ -14,6 +14,7 @@ class NewsItem(CreatedUpdatedModel):
content = models.TextField()
public = models.BooleanField(default=False)
published_at = models.DateTimeField()
+ slug = models.SlugField()
def __str__(self):
return self.title
diff --git a/news/templates/news_detail.html b/news/templates/news_detail.html
new file mode 100644
index 00000000..7ccde145
--- /dev/null
+++ b/news/templates/news_detail.html
@@ -0,0 +1,9 @@
+{% extends 'base.html' %}
+{% load commonmark %}
+
+{% block content %}
+
+
{{ news_item.title }} {{ news_item.published_at|date:"Y-m-d" }}
+
+ {{ news_item.content|commonmark }}
+{% endblock %}
diff --git a/news/templates/news_index.html b/news/templates/news_index.html
index c44faae1..809b4adc 100644
--- a/news/templates/news_index.html
+++ b/news/templates/news_index.html
@@ -4,7 +4,7 @@
{% block content %}
{% for item in news_items %}
-
{{ item.title }} {{ item.published_at|date:"Y-m-d" }}
+
{{ item.title }} {{ item.published_at|date:"Y-m-d" }}
{{ item.content|commonmark }}
{% if not forloop.last %}
diff --git a/news/urls.py b/news/urls.py
index 9f1c4708..6bd938d3 100644
--- a/news/urls.py
+++ b/news/urls.py
@@ -4,4 +4,5 @@ from . import views
urlpatterns = [
url(r'^$', views.NewsIndex.as_view(), name='index'),
+ url(r'(?P[-_\w+]+)/$', NewsDetail.as_view(), name='detail'),
]
diff --git a/news/views.py b/news/views.py
index 1afd6c21..2cf4b9e0 100644
--- a/news/views.py
+++ b/news/views.py
@@ -1,4 +1,4 @@
-from django.views.generic import ListView
+from django.views.generic import ListView, DetailView
from . import models
@@ -7,3 +7,9 @@ class NewsIndex(ListView):
queryset = models.NewsItem.objects.public()
template_name = 'news_index.html'
context_object_name = 'news_items'
+
+
+class NewsDetail(DetailView):
+ model = models.NewsItem
+ template_name = 'news_detail.html'
+