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

我用:

  • DjangoCMS 2.4

  • Django 1.5.1

  • Python 2.7.3

我想检查我的占位符是否为空。

<div>

    {% placeholder "my_placeholder" or %}

    {% endplaceholder %}

</div>

如果占位符为空,我不希望在占位符之间创建html。


{% if placeholder "my_placeholder" %}

<div>

    {% placeholder "my_placeholder" or %}

    {% endplaceholder %}

</div>

{% endif %}


叮当猫咪
浏览 170回答 3
3回答

慕妹3146593

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

胡说叔叔

这是一个非常紧凑的解决方案。模板过滤器:@register.filter('placeholder_is_empty')def placeholder_is_empty(request, slot):&nbsp; &nbsp; page = request.current_page&nbsp; &nbsp; placeholder = page.placeholders.get(slot=slot)&nbsp; &nbsp; return placeholder.cmsplugin_set.exists()模板中的用法:{% if request|placeholder_is_empty:'myplaceholder' %}&nbsp; &nbsp; <h1>Here comes some content... </h1>{% endif %}
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python