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

如何向Django CMS项目添加自定义Bootstrap模板

djangocms-bootstrap 轮播插件自定义模板接入方案

不需要在settings.py中添加CAROUSEL_TEMPLATES类配置项,djangocms-bootstrap 1.1.2版本没有内置该配置项,结合你给出的环境,按以下步骤操作即可完成自定义模板接入:

具体操作步骤

  • 对齐模板存放路径
    插件默认从djangocms_bootstrap/carousel/路径下加载轮播模板,无需修改第三方包源码,直接在你项目的模板根目录下新建相同层级的目录结构,把自定义模板放进去即可:
    项目模板根目录/
    └── djangocms_bootstrap/
        └── carousel/
            ├── default.html # 可直接覆写默认模板
            └── custom_carousel.html # 存放你的自定义轮播模板
    
    只要项目模板目录在settings.py的TEMPLATES.DIRS配置中优先级高于第三方应用模板目录,Django会自动优先加载该路径下的模板文件,你的AWS静态托管配置不会影响这个加载逻辑。
  • 扩展插件模板选项
    在你项目任意一个已注册到INSTALLED_APPS的业务应用下,新建/编辑cms_plugins.py文件,添加以下代码,把自定义模板注册到轮播插件的可选模板列表中:
    from cms.plugin_pool import plugin_pool
    from djangocms_bootstrap.cms_plugins import BootstrapCarouselPlugin
    
    # 注销原有默认注册的轮播插件
    plugin_pool.unregister_plugin(BootstrapCarouselPlugin)
    
    # 扩充模板选择列表
    BootstrapCarouselPlugin.render_template_choices = [
        ("djangocms_bootstrap/carousel/default.html", "默认轮播样式"),
        ("djangocms_bootstrap/carousel/custom_carousel.html", "自定义轮播样式"), # 替换为你的模板路径和后台显示名称
    ]
    # 设置插件默认选中的模板
    BootstrapCarouselPlugin.render_template = BootstrapCarouselPlugin.render_template_choices[0][0]
    
    # 重新注册修改后的轮播插件
    plugin_pool.register_plugin(BootstrapCarouselPlugin)
    
  • 生效验证
    重启Django服务后,进入Django CMS后台编辑页面,新增或编辑已有轮播插件,即可在配置面板看到自定义模板的选择项,选中对应模板保存后即可生效。

特殊场景说明

  • 如果不需要保留默认模板、要全局替换所有轮播的渲染样式,不需要修改cms_plugins.py的注册逻辑,直接在上述模板路径下用自定义模板覆盖default.html文件即可。
  • 不要直接修改site-packages目录下djangocms-bootstrap的源码,后续执行依赖升级时会直接覆盖所有修改,上述方案是版本兼容的无侵入实现方式,不会影响后续依赖升级。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.30 15:51:22