django 如何在Wagtail中反转URL?

5jvtdoz2  于 2023-04-07  发布在  Go
关注(0)|答案(2)|浏览(111)

我有一个Django站点,其中包含一个博客。为了让它快速启动和运行,我只是使用Django的TemplateView添加了一些静态博客文章。
我现在已经添加了Wagtail,并使用它建立了一个博客平台。
我现在遇到的问题是链接到网站其他地方的博客文章。有没有一种方法可以反转在Wagtail中创建的博客文章的URL(使用slug)?

iyzzxitl

iyzzxitl1#

看到任一

  • pageurl反转给定Page对象{% pageurl page_object %}的URL,或
  • slugurl用于反转给定Page对象slug {% slugurl some_slug %}的URL

如果您有一个Page对象,也可以使用{{ page_object.url }},但这并不能给予良好的多站点行为。

hl0ma9xz

hl0ma9xz2#

对于那些谁想要扭转wagtail管理网址和创建菜单链接wagtail管理页面,使创建博客更舒适

from wagtail.admin.menu import MenuItem
from wagtail.core import hooks # for wagtail v 2.15
# from wagtail import hooks # for wagtail v3

from django.urls import reverse
from django.contrib.admin.utils import quote

@hooks.register('register_admin_menu_item')
def register_news_menu_item():
    page = BlogIndexPage.objects.first()
    blogs_url = reverse('wagtailadmin_explore', args=(quote(page.pk),))
    return MenuItem('Blogs', blogs_url, icon_name='doc-empty-inverse', order=1)

相关问题