django项目的快速、简单和可扩展的社会活动聚合

django-activitysync的Python项目详细描述


django activitysync是一个易于使用的django社交活动聚合器。 项目。

它可以用来存储和显示来自一系列社交网络的活动 (如Twitter、Reddit、谷歌阅读器等)。与其他实用程序不同 访问和显示活动,django activitysync分离呈现 从活动更新。所有活动信息都存储在项目的 数据库使用django模型,为页面请求提供了良好的性能。 通过django管理命令更新活动,该命令可以 通过使用cron之类的实用程序实现自动化。

功能

  • 当前支持以下活动提供程序:

  • 提供程序是使用一个简单的公共接口实现的,这使得它非常 易于添加对附加网络的支持

依赖关系

必须满足的依赖项才能使用应用程序:

安装

来自pypi

$ pip install django-activitysync

或:

$ easy_install django-activitysync

或从Bitbucket

克隆
$ hg clone https://bitbucket.org/dancarroll/django-activitysync

并将activitysync添加到pythonpath:

$ export PYTHONPATH=$PYTHONPATH:$(pwd)/django-activitysync/

或:

$ cd django-activitysync
$ sudo python setup.py install

配置

  • 将ActivitySync添加到设置中的INSTALLED_APPS。py:

    INSTALLED_APPS = (
        ...
        'activitysync'
    )
    
  • 将所需的提供程序添加到ACTIVITYSYNC_PROVIDERS设置:

    ACTIVITYSYNC_PROVIDERS = (
        'activitysync.providers.googlereader.GoogleReaderProvider',
        'activitysync.providers.twitterprovider.TwitterUserProvider',
        'activitysync.providers.twitterprovider.TwitterSearchProvider',
        'activitysync.providers.redditprovider.RedditProvider',
    )
    
  • 将提供程序设置添加到settings.py(取决于添加的提供程序)。 为了便于使用和组织,提供者的所有设置都应该 存储在ACTIVITYSYNC_SETTINGS字典中。所需的设置 内置提供商是:

    ACTIVITYSYNC_SETTINGS = {
        'TWITTER_USERNAME': '', # Username to use for TwitterUserProvider
        'TWITTER_SEARCHTERM': '', # Search term to use for TwitterSearchProvider
        'REDDIT_USERNAME': '', # Username to use for RedditProvider
        'GOOGLEREADER_SHARED_RSS': '', # URL of Google Reader shared items RSS feed
        'GOOGLEREADER_PUBLIC_URL': '', # URL to Google Reader public page
    }
    
  • 同步数据库以创建所需的模型:

    python manage.py syncdb
    

    或者(如果您安装了South):

    python manage.py migrate activitysync
    

用法

获取和创建活动项

配置完成后,运行包含的管理命令 要获取已配置提供程序的活动:

python manage.py updateactivities

该命令将把所有新活动打印到命令行。全部 活动项以唯一的guid值存储,因此此命令可以 根据需要经常运行,而不必担心创建重复的值。 在生产站点中,此命令可能会添加到crontab(或 其他调度程序)相当频繁地运行(例如每30分钟一次)。

管理命令有几个可用选项。

  • 使用--send-result选项向站点管理员发送电子邮件 (由django管理设置控制)新添加的活动 (如果没有新项目,则不发送电子邮件):

    python manage.py updateactivities --send_result
    
  • 使用--dry-run option将项输出到控制台,但不 实际在数据库中创建项:

    python manage.py updateactivities --dry-run
    

使用活动项

可以像使用django的orm的任何其他模型一样访问活动项。在这里 是获取所有已发布活动项(获取项)的快速示例 默认为public,但可以通过修改django中的项来隐藏 管理站点:

from django.shortcuts import render_to_response
from activitysync.models import Activity

def index(request):
    return render_to_response(
        'index.html',
        { 'activities': Activity.objects.published() }
    )

django activitysync还提供用于显示项目的模板标记:

{% load activitysync_extras %}
{% render_activities activities %}

render_activitiestemplate标记将传递对象列表和 MEDIA_URL值到模板activitysync/activities_tag.html。 项目附带了一个默认使用的示例模板,或者 可以作为你自己的基础。第二个模板标记, render_activities_with_date_headers呈现活动列表和 遇到的每个唯一日期的日期标题。

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

推荐PyPI第三方库


热门话题
eclipse如何将LWUIT主题文件加载到Java项目中?   JavaJPA HibernateFetchType。渴望和获取模式。加入非主键   java为单个和多个对象创建对象容器   java在到达末尾时在viewpager2中加载更多项目   java我怎么能忽略它。解压时存储DS_和MACOSX文件?   java我无法使用ApachePOI3.10读取xlsx文件   java为什么我在Android应用程序的webView中看到广告(我没有注册任何广告)   在Java中,PrintWriter write()方法在哪里写入数据   c#ProcessStartInfo挂在“WaitForExit”上?为什么?   安卓中的java解析查询问题   java Android摄像头在拍照时禁用   爪哇交货过早地从jsprit的仓库提货   java退避算法仿真   java我的计数反转算法有什么问题?   java什么导致一个类中的变量受到另一个类的影响?   JavaVaadin和Spring引导问题   java无法使用writerInterceptor拦截jersey资源方法   java如何根据配置选择RedisCluster、RedisStandalone和Sentinel连接?   java GSON/如何解析数字   java:字节码中的字符串concat转换为StringBuilder