Luke
Luke

Reputation: 1844

django cms - resolving pages url by slug

Is it possible to resolve a page url by its slug? Something like:

from django.core.urlresolvers import reverse
reverse('pages-details-by-slug',{slug:'my-page-slug'})

But I got:

NameError: name 'slug' is not defined

Any help on this?

Upvotes: 5

Views: 4763

Answers (2)

Daniel Roseman
Daniel Roseman

Reputation: 599648

Python is not Javascript; dictionary keys need to be quoted.

reverse('pages-details-by-slug', {'slug': 'my-page-slug'})

Upvotes: 6

Luke
Luke

Reputation: 1844

solved:

try:
    from cms.models import Title
    page = Title.objects.get(slug="my-page-slug").page
    return page.get_absolute_url()
except Title.DoesNotExist:
    pass

Upvotes: 3

Related Questions