跳转到主要内容

Django实现Vkontakte API投票

项目描述

Django Vkontakte Polls
======================

[![PyPI版本](https://badge.fury.io/py/django-vkontakte-polls.png)](http://badge.fury.io/py/django-vkontakte-polls) [![构建状态](https://travis-ci.org/ramusus/django-vkontakte-polls.png?branch=master)](https://travis-ci.org/ramusus/django-vkontakte-polls) [![覆盖率状态](https://coveralls.io/repos/ramusus/django-vkontakte-polls/badge.png?branch=master)](https://coveralls.io/r/ramusus/django-vkontakte-polls

该应用程序允许通过Vkontakte API使用标准Django模型与投票组进行交互

安装
---------

pip install django-vkontakte-polls

在`settings.py`中需要添加

INSTALLED_APPS = (
...
'oauth_tokens',
'taggit',
'vkontakte_api',
'vkontakte_places',
'vkontakte_groups',
'vkontakte_users',
'vkontakte_wall',
'vkontakte_polls',
'm2m_history',
)

# oauth-tokens设置
OAUTH_TOKENS_HISTORY = True # 在数据库中保留过期的访问令牌
OAUTH_TOKENS_VKONTAKTE_CLIENT_ID = '' # 应用程序ID
OAUTH_TOKENS_VKONTAKTE_CLIENT_SECRET = '' # 应用程序密钥
OAUTH_TOKENS_VKONTAKTE_SCOPE = ['ads,wall,photos,friends,stats'] # 应用程序作用域
OAUTH_TOKENS_VKONTAKTE_USERNAME = '' # 用户登录名
OAUTH_TOKENS_VKONTAKTE_PASSWORD = '' # 用户密码
OAUTH_TOKENS_VKONTAKTE_PHONE_END = '' # 用户手机号的最后四位

API方法覆盖
--------------------

* [polls.getById](http://vk.com/dev/polls.getById) – 返回有关投票的详细信息;
* [polls.getVoters](http://vk.com/dev/polls.getVoters) – 获取在投票中选择特定答案的用户标识符列表;

解析器使用
---------------------

* 获取为特定答案投票的用户;

使用示例
---------------------

### 获取投票

>>> from vkontakte_polls.models import Poll, Group, Post
>>> group = Group.remote.fetch(ids=[16297716])[0]
>>> post = Post.objects.create(remote_id='-16297716_190770', owner=group)
>>> poll = Poll.remote.fetch(83838453, group, post)
>>> poll.pk
83838453
>>> poll.question
你从事体育运动吗?(公开投票)
>>> poll.votes_count
2170
>>> poll.owner
<Group: 可口可乐>
>>> poll.created
datetime.datetime(2013, 4, 8, 12, 59, 2)

### 获取所有投票答案

>>> poll.answers.all()
[<Answer: 是,专业!>, <Answer: 经常去健身房.>, <Answer: 在温暖的季节跑步.>, <Answer: 和朋友踢足球.>, <Answer: 没有,我只是尽量保持健康的生活方式.>, <Answer: 没有,但非常想.>, <Answer: 我的选项(在评论中说明).>]
>>> poll.answers.count()
7
>>> answer = poll.answers.all()[0]
>>> answer.pk
266067655L
>>> answer.text
是,专业!
>>> answer.votes_count
581
>>> answer.rate
26.77

### 获取为答案投票的所有用户

>>> answer.fetch_voters()
[<User: 王丽华>, <User: 刘鹏飞>, <User: 王燕华>, '...(剩余元素省略)...']
>>> answer.voters.count()
581

项目详情


下载文件

下载适用于您的平台的文件。如果您不确定选择哪一个,请了解更多关于 安装软件包 的信息。

源代码分发

django-vkontakte-polls-0.7.4.tar.gz (24.4 kB 查看哈希值)

上传时间 源代码

由以下支持

AWS AWS 云计算和安全赞助商 Datadog Datadog 监控 Fastly Fastly CDN Google Google 下载分析 Microsoft Microsoft PSF 赞助商 Pingdom Pingdom 监控 Sentry Sentry 错误日志 StatusPage StatusPage 状态页面