Rudimentary but fully-functional entry permalink pages :3

This commit is contained in:
Danielle McLean 2017-10-25 12:31:08 +11:00
parent d267df337f
commit 2b6691f8a5
Signed by: 00dani
GPG key ID: 5A5D2D1AFF12EEC5
13 changed files with 133 additions and 73 deletions

View file

@ -1,5 +1,7 @@
from django.contrib.auth import get_user_model
from django.db import models
from django.urls import reverse
from slugify import slugify
from . import kinds
ENTRY_KINDS = [(k.id, k.__name__) for k in kinds.all]
@ -28,6 +30,20 @@ class Entry(models.Model):
content=self.content
)
@property
def url(self):
kind = kinds.from_id[self.kind]
route = 'entries:{kind}_entry'.format(kind=kind.plural)
args = [self.id]
if kind.has('slug'):
route += '_slug'
args.append(self.slug)
return reverse(route, args=args)
@property
def slug(self):
return slugify(self.name)
class Meta:
verbose_name_plural = 'entries'
ordering = ['-published']