django应用程序,用于聚合来自社交网络的某些订阅源。

emencia-django-socialaggregator的Python项目详细描述


Emencia Django社交聚合器

此应用程序是社交网络的聚合器。

命令脚本将从社交网络/外部站点从 aggregator您在管理中指定的信息。它会把它们储存在 数据库,比如ressource,您可以将它们管理到admin中。你可以 通过feed重新组合ressource,并将它们返回到json或html视图中。

也可以将其用作django-cms的插件(如果已安装)。

由于版本0.3,已删除djangocms 2.xdjango<;1.6。已打开djangocms_2分支以维护0.2.x版本系列(如果需要)。

安装

在您的设置中。已安装的应用程序:

'taggit',
'filebrowser',
'socialaggregator',

以及一些django-filebrowser-no-grappelli基本设置(有关详细信息,请参阅其文档):

FILEBROWSER_VERSIONS_BASEDIR = '_uploads_versions'

FILEBROWSER_MAX_UPLOAD_SIZE = 10*1024*1024 # 10 Mb

FILEBROWSER_NORMALIZE_FILENAME = True

然后在设置文件中导入基本设置:

from socialaggregator.settings import *

用法

作为视图

首先,将此行添加到urls.py

url(r'^socialaggregator/', include('socialaggregator.urls')),

然后,您将以HTML页面的形式访问提要资源列表,其URL如下:

/socialaggregator/feed/sample/

或者您可以使用json版本:

/socialaggregator/feed/sample/?format=json

还有一个视图显示allressources from all feeds:

/socialaggregator/

这些视图中使用的默认模板来自settings.EDSA_PLUGIN_TEMPLATE

作为模板标记

标记语法如下:

{% ressource_by_feed slug template_name %}

其中:

  • slug参数是包含slug提要的字符串;
  • template_name是包含要使用的模板路径的字符串,默认为settings.EDSA_TAG_TEMPLATE

例如,加载templateTag并使用给它一个feed slug的标记来列出它的资源:

{% load socialaggregator_tags %}

<div class="row">
    {% ressource_by_feed 'parrot-apps-usa' %}
</div>

作为django cms插件

只需在页面中使用名为“SocialAggregator提要插件”的插件,选择要列出资源的提要。

默认使用的模板路径来自settings.EDSA_PLUGIN_TEMPLATE若要显示提要资源,请在项目中将其更改为使用自己的HTML布局。

统一内容数据 因为由于饲料可能包含许多社交网络中的子项,所以在模型上存在一个方法。该方法使用从设置RESSOURCE_FORMATTER加载的格式化程序(如果已定义),否则将加载默认格式化程序socialaggregator.formatter.RessourceFormatterDefault

默认格式化程序返回具有统一数据方案的dict,因此您可以在模板中使用它,而不必测试字段是否已填充,等等。这是可选的,您仍然可以直接使用ressource实例并使用其字段。您可以这样使用:

{% for ressource_item in feed_ressources %}{% with ressource_item.get_unified_render as ressource %}
<li>
    {% if ressource.title %}<h2>{{ ressource.title }}</h2>{% endif %}
    {% if ressource.description %}<p>{{ ressource.description|safe|linebreaksbr }}</p>{% endif %}
</li>
{% endwith %}{% endfor %}

注意,格式化程序不是自动应用的,因此json视图输出仍然返回序列化的ressource实例。

更改日志

0.3.2

  • 修复setup.py
  • 中的依赖关系

0.3.2

  • 替换django filer使用django filebrowser
  • 替换以前的迁移(0016)以适应此更改;

0.3

  • 放弃对djangocms 2.xdjango<;1.6的支持,利润为djangocms 3.xdjango>;=1.6
  • 使用django filer管理模型中的图像字段;
  • 在CMS工具栏中制作应用程序菜单;

0.2.9

  • 改进了feeds和aggregators模型的管理视图;

0.2.8

  • 添加ressource model一些显示选项(background_colornew_page);

0.2.3

  • 添加ressource_by_feedtemplate标记以显示来自指定提要的资源,而不进行任何分页;
  • 添加EDSA_VIEW_TEMPLATEEDSA_TAG_TEMPLATEEDSA_PLUGIN_TEMPLATE设置并在视图、标记和插件中使用它们;
  • 对视图的默认模板进行一些清理;

0.2.2

  • docs/
  • 中添加sphinx文档

0.2.1

  • 在资源模型上添加新方法以获取统一的内容数据;

0.2

  • 添加可选的django cms插件以显示feed资源,对默认视图模板进行少量更改;

0.1.偏差

  • 初次发布。Alpha版本

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java Kafka producer大量内存使用(泄漏?)   java NullPointerException。。。正在插入数据但无法检索数据[Mysql DB]   java spring+jpa+hibernate=没有可用于当前线程的实际事务的EntityManager无法可靠地处理“persist”调用   getelementbyid在没有ID的情况下如何在java中使用GetElementsById   java有没有一种使用WatchService强制轮询的方法?   java将值从jframe传递给另一个jframe并使用它   Java/Groovy中带重试的反应式事件处理   具有两个包装器元素的java Jackson XML ArrayList输出   java总是在范围内使用不同的随机元素   取消选择java下拉列表值   多线程如何在Java中为对象的不同成员拥有不同的同步块   java如何使用多线程从文本文件中读取输入   java Spring启动附加崩溃命令   java使用公共或单独的actionPerfomed方法有什么区别   java用Spring3.0中的SpEL替换JSP中的EL   java作为windows服务运行应用程序时无法访问共享文件夹   java xml 1.1规范中的“解析数据”是什么意思?   以编程方式设置JComboBox索引时java触发ItemListener   java Android WebView:只加载HTML,不加载JS或CSS(在某些设备中)   Java:计算do/while循环的数量