2017-05-30 44 views
2

我需要在我的主页上显示所有文件添加/更改为我的Django CMS项目的Bootstrap Filer插件。我正在使用LogEntry模型,但它不会将添加操作保存到LogEntry实例。我需要的是类似的东西:Django CMS - DIVIO LogEntry添加实例/添加到CMS的最新文件

最新变化:五月

  • 30,2017年 - 检验.pdf
  • 2017年5月28日 - 应用Form.pdf
  • 2017年5月26日 - 布鲁克.PDF

我的问题是,添加的行为不会被保存在LogEntry模型......我每次添加,例如,文件管理器引导插件,并添加一个PDF它不保存它的一个新条目实例,只有当我删除它。如何更改默认行为以在LogEntry模型上保存插件的添加操作(特别是Bootstrap Filer文件)?

该网站是一个帮助保险经纪人出售的平台。不同公司的价格按月变化。每当新的价格表变化时,我需要在最新的更改/更新部分中显示。

我的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> 

什么是做到这一点的最好方法是什么?

回答

0

如果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领域。

+0

我不需要改变其行为,我需要列出所有加载和更新Bootstrap3FilePlugin编辑人员在CMS做无论在哪个页面是行动。 –

+0

我说你需要改变它的行为的原因是插件的行为是为删除动作创建一个LogEntry,但不创建动作,并且你需要知道插件何时被创建。做到这一点的最简单方法似乎是创建一个插件类的版本,该版本保存一个时间戳,其中将包含该信息。 –