为了账号安全,请及时绑定邮箱和手机立即绑定

Django CMS-检查占位符是否为空

Django CMS-检查占位符是否为空

叮当猫咪 2021-03-28 12:18:12
我用:DjangoCMS 2.4Django 1.5.1Python 2.7.3我想检查我的占位符是否为空。<div>    {% placeholder "my_placeholder" or %}    {% endplaceholder %}</div>如果占位符为空,我不希望在占位符之间创建html。{% if placeholder "my_placeholder" %}<div>    {% placeholder "my_placeholder" or %}    {% endplaceholder %}</div>{% endif %}
查看完整描述

3 回答

?
慕妹3146593

TA贡献1820条经验 获得超9个赞

如果希望在占位符为空的情况下显示其他内容,请使用or参数和其他{% endplaceholder %}结束标记。如果占位符没有插件或插件不产生任何输出{% placeholder "..." or %},{% endplaceholder %}则会呈现和之间的所有内容。


例子:


{% placeholder "content" or %}


There is no content.


{% endplaceholder %}


查看完整回答
反对 回复 2021-04-02
?
胡说叔叔

TA贡献1804条经验 获得超8个赞

这是一个非常紧凑的解决方案。


模板过滤器:


@register.filter('placeholder_is_empty')

def placeholder_is_empty(request, slot):

    page = request.current_page

    placeholder = page.placeholders.get(slot=slot)

    return placeholder.cmsplugin_set.exists()

模板中的用法:


{% if request|placeholder_is_empty:'myplaceholder' %}

    <h1>Here comes some content... </h1>

{% endif %}


查看完整回答
反对 回复 2021-04-02
  • 3 回答
  • 0 关注
  • 169 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信