Rudimentary but fully-functional entry permalink pages :3
This commit is contained in:
parent
d267df337f
commit
2b6691f8a5
13 changed files with 133 additions and 73 deletions
|
|
@ -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']
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue