我已经开始在django-haystack索引中使用渲染字段,以避免在呈现搜索时出现数据库命中。这在大多数情况下运行良好,但我在结果中也有一些运行时信息(例如工作人员的编辑按钮)以及我想要拼接的内容。简化示例:
{{object.name}}<br/>
{% if user.is_staff %}
<a href="{% url object_edit pk=object.id %}">Edit</a>
{% endif %}
{{ object.description}}
用户逻辑显然不能在索引时应用,因此不会发生。不使用javascript hacks有没有办法在预渲染文本中拼接一些运行时输出?我认为可以通过将带有一些格式化占位符的渲染文本传递给自定义模板标记来完成,但我想知道是否还有其他方法。
编辑:也许可能存在多个渲染的存储字段,覆盖围绕逻辑部分的搜索结果的主要片段,然后在运行时在主结果模板中汇编。这会有用吗?