是否有可能通過它的slug來解析頁面url? 喜歡的東西:django cms - 通過slug解析頁面url
from django.core.urlresolvers import reverse
reverse('pages-details-by-slug',{slug:'my-page-slug'})
但我得到:
NameError: name 'slug' is not defined
任何幫助?
是否有可能通過它的slug來解析頁面url? 喜歡的東西:django cms - 通過slug解析頁面url
from django.core.urlresolvers import reverse
reverse('pages-details-by-slug',{slug:'my-page-slug'})
但我得到:
NameError: name 'slug' is not defined
任何幫助?
Python是不是Java腳本;字典鍵需要引用。
reverse('pages-details-by-slug', {'slug': 'my-page-slug'})
解決:
try:
from cms.models import Title
page = Title.objects.get(slug="my-page-slug").page
return page.get_absolute_url()
except Title.DoesNotExist:
pass
如果使用草稿/已發佈版本的頁面,值得注意的是可以將**兩個**對象返回到上面的頁面對象。 可能值得記住是否需要發佈和/或草稿版本。 – niceguydave 2014-08-14 14:21:23
對於已發佈/起草的案例,您可以使用'page = Title.objects.get(slug ='my-page-slug',page__publisher_is_draft = False).page'(在Django CMS 2.4上測試) – 2015-03-02 15:19:41
對於Django 1.9, reverse('page-details-by-slug',kwargs = {'slug':my-page-slug})' – Bobort 2016-03-22 20:13:50