德克萨斯论坛:tt_streams
项目描述
提供创建内容流的方法
用法
您可以使用tt_streams将来自不同应用的不同模型收集到一个统一的模型流中。流由一系列您为每个应用编写的特定于应用的StreamItem子类组成。
要直接查看简单的(近乎天真)实现示例,请查看项目/example/models.py文件。
每个希望将其模型暴露给流的Django应用都应该做两件事
创建一个特定的*Item模型。例如,StoryItem应该继承自StreamItem模型,并通过ForeignKey连接到选择加入的模型,在这种情况下是``Story``。
创建一种将那些模型与Stream相关联的方法。这通常通过StreamItem子类的内联接口来完成。
在这些要求之外,您在StreamItem子类上所做的所有其他事情都取决于您。通常将您的StreamItem类用作缓存表,这样您就不必再次查询数据库。
例如,当 StoryItem 被保存时,它会自动存储其相关的 Story 模型的标题,并连接到一个接收器来监听 Story 的 post_save 信号,以确保每次保存时都重新保存其所有 stream_items。
以下几点需要注意
你可以根据需要命名你的 StreamItem 子类
你可以命名你相关的字段,随意选择
它自动具有一个 pub_date,你可以用它来排序,但默认情况下它们是不排序的
安装 & 配置
你可以使用 pip 安装 tt_streams 的最新版本
pip install tt_streams
确保将 tt_streams 添加到你的 INSTALLED_APPS 中。你可以以任何你喜欢的的方式进行添加。这是一个复制粘贴的解决方案
INSTALLED_APPS += ["tt_streams", ]
安装完成后,你必须运行 syncdb,如果你使用 South,则运行 migrate
贡献
创造一些令人惊叹的东西——改进代码,添加一些功能,无论什么(这是最难的部分)。
创建一个主题分支来存放你的更改
将你的所有提交合并到新的主题分支中
提交一个 pull request
许可证
版权 2013 德克萨斯州论坛
根据 Apache 许可证版本 2.0(“许可证”);除非适用法律要求或书面同意,否则不得使用此文件,除非遵守许可证。你可以在以下地址获取许可证副本:
除非适用法律要求或书面同意,否则在许可证下分发的软件按“原样”提供,不提供任何明示或暗示的保证或条件。有关许可证的具体语言,请参阅许可证。
项目详情
tt_streams-0.2.0.tar.gz 的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | cf34844efd37d486036c190e9bb57e6fe38adeae47c96d76c5bd0f31d130ace7 |
|
MD5 | 21bfed1dbceb8d2ca5ce4c6680715109 |
|
BLAKE2b-256 | 56da4fad69de9b6beda8803e7f9fd7add2e2c87f6a8c7e5a795be6ad3d3a68d4 |