Django CMS - DIVIO LogEntry 添加实例/添加到 CMS 的最新文件

Django CMS - DIVIO LogEntry add instance / Latest files added to the CMS

我需要在我的主页上显示一个列表,其中包含所有文件 added/changed 作为我的 Django CMS 项目的 Bootstrap Filer 插件。我使用的是 LogEntry 模型,但它不会将添加操作保存到 LogEntry 实例。我需要的是这样的东西:

最新更改:

我的问题是 Add 的操作没有保存在 LogEntry 模型中...例如,每次我添加 Bootstrap Filer Plugin 并添加 PDF 时,它不会保存新的 Entry 实例它,只有当我删除它时。如何更改默认行为以在 LogEntry 模型中保存插件的添加操作(特别是 Bootstrap 文件管理器文件)?

本网站是一个帮助保险经纪人销售的平台。不同公司的价格每月都有变化。每次新价格 table 更改时,我都需要在最新更改/更新部分显示。

我的models.py

poll = list(LogEntry.objects.all())

    def __unicode__(self):
        return unicode(self.poll)

我的模板:

    <ul>
    {% for poll in instance.poll %}
      {% if poll.content_type_id == 54 %} <!-- Bootstrap Files Plugin Content Type -->
        <li>
          {{poll.action_time.date }} - {{ poll.object_repr }} - {{ poll.object_repr }}
        </li>
      {% endif %}
    {% endfor %}
   </ul>

最好的方法是什么?

如果 Bootstrap3FilePlugin model 满足您的需要,但您想改变它的行为,最好的办法是 子类 它。

会是这样的:

  • 创建您自己的包含新代码的模块。

  • 子类化插件模型

    from aldryn_bootstrap3.models import Bootstrap3FilePlugin
    
        class MyNewBootstrap3FilePlugin(Bootstrap3FilePlugin):
        ...
    
  • 添加一个新字段,例如:

    last_updated = models.DateTimeField(auto_now_add=True)
    

    参见DateTimeField/DateField reference

  • 您还需要子类化 Bootstrap3FileCMSPlugin plugin class 以指向新模板:

    render_template = <whatever>
    

    这将显示新的 last_updated 字段。