wagtail - 我将如何扩展 wagtailmenus LinkPage 以添加通用图片
问题描述
我已经AbstractLinkPage
在我的网站上使用 wagtailmenus 的模型有一段时间了。我觉得它很有用。来源:wagtailmenus AbstractLinkPage 模型
我的网站正在从子页面构建卡片,并将子页面中的横幅图像自动添加到这些卡片中。一些子页面是LinkPages
. 如何扩展子类LinkPage
(来自AbstractLinkPage
)以添加可用作卡片图像的通用图像?
我添加了以下字段:
class LinkPage(AbstractLinkPage):
card_image = models.ForeignKey(
get_image_model_string(),
null=True,
blank=True,
related_name='+',
on_delete=models.SET_NULL,
)
content_panels = AbstractLinkPage.content_panels + [
ImageChooserPanel("card_image"),
]
但是,图像card_image字段不会显示在管理界面中。
感谢您对前进的任何帮助。
解决方案
Wagtailmenus 使用它自己的选项卡式界面(在 wagtailmenus.panels 中):
linkpage_tab = ObjectList(
linkpage_panels, heading=_("Settings"), classname="settings"
)
linkpage_edit_handler = TabbedInterface([linkpage_tab])
所以你要做的就是创建一个新的ObjectList:
from wagtailmenus.panels import linkpage_panels
from wagtail.admin.edit_handlers import ObjectList, TabbedInterface
my_linkpage_tab = ObjectList(
linkpage_panels + [ImageChooserPanel("card_image")],
heading=_("Settings"), classname="settings"
)
..并将其添加到您的课程中:
class LinkPage(AbstractLinkPage):
[..]
edit_handler = TabbedInterface([my_linkpage_tab])
推荐阅读
- excel - VBA 用户表单数据更改检查
- java - 将相同的视图传递给您在 setContentView() 中使用的函数
- c - 如何知道函数是否会被最后一次调用
- javascript - 在 Angular 4 中实现承诺时出错
- java - 提交单个属性值而不是整个事务
- python - Networkx - 使用节点属性的子图
- python - 查找嵌套列表中元素的索引
- c# - System.Security.Claims.ClaimsPrincipal.Current(和 HttpContext.Current.User)根据调用者的不同,具有完全相同的请求的不同声明
- javascript - Play 无法引用外部 javascript
- gnuplot - 如何防止图例中的条目重叠而没有空格?