You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何为Wagtail CRX预定义图片画廊块添加后台模板选项?

给Codered CMS的Image Gallery块添加自定义模板选项

首先明确:不继承块的话没法直接把自定义模板加到后台下拉菜单里——这个下拉菜单的选项是从块的meta类里的template或templates属性读取的,而Codered默认的ImageGalleryBlock只指定了单个模板。

不过继承块的操作非常简单,步骤如下:

  1. 在项目的blocks.py中导入原块:
from coderedcms.blocks.content_blocks import ImageGalleryBlock
  1. 继承原块,在meta类里添加templates属性,把默认模板和你的自定义模板都列进去:
class CustomImageGalleryBlock(ImageGalleryBlock):
    class Meta:
        templates = [
            ("coderedcms/blocks/image_gallery_block.html", "默认样式"),
            ("your_app/blocks/custom_image_gallery.html", "自定义样式"),
        ]
        # 保留原块的其他元属性
        icon = "image"
        label = "图片画廊"
  1. 在你指定的路径下创建自定义模板文件custom_image_gallery.html,可以先复制原模板的内容,再修改成你需要的HTML结构和样式。

  2. 在页面模型里,把原先使用ImageGalleryBlock的位置替换成CustomImageGalleryBlock即可。

如果实在不想继承块,还有个不推荐的临时方案:直接修改Codered源码里ImageGalleryBlock的meta.templates字段,但这样后续升级Codered时你的修改会被覆盖,风险很高。

所以最稳妥且低成本的方式还是继承块,代码量少,也不影响后续框架升级。

内容的提问来源于stack exchange,提问作者GreatGaja

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.04 02:00:34