2

我怎样才能让 tweepy 返回实际的推文,我的意思是它应该以人类可读的格式显示推文?

我不希望它返回这样的推文:

   <tweepy.models.Status object at 0x95F1ABPo>

代码

  def tweetstream(request):
        consumer_key=""
        consumer_secret=""
        access_token=""
        access_token_secret=""
        auth=tweepy.OAuthHandler(consumer_key, consumer_secret)
        auth.set_access_token(access_token, access_token_secret)
        api=tweepy.API(auth)
        statuses=Cursor(api.list_timeline, owner='', slug='').pages()
        for status in statuses:
            print status
            return render_to_response('dash.html',{'statuses': statuses},context_instance=RequestContext(request))
4

3 回答 3

1

tweepy.models.Status 只是一个类。它可能具有可用于访问推文内容的字段。status.text例如,尝试。

于 2012-04-22T09:36:39.153 回答
1

API 调用返回调用的 JSON。Tweepy 将其解析为自己的模型,称为 Status。您可以获取推文的不同参数并将它们从这个状态模型呈现到 django 模板中。

将整个'statuses'作为上下文传递给django模板,并在for循环中运行它们,你可以在那里显示一些东西,比如显示推文'statuses.text'。

您可以使用 twitter 的标准模板并将您的推文呈现为或编写您自己的 html 并根据需要在其中显示推文。

视图.py:

def tweetstream(request):
        consumer_key=""
        consumer_secret=""
        access_token=""
        access_token_secret=""
        auth=tweepy.OAuthHandler(consumer_key, consumer_secret)
        auth.set_access_token(access_token, access_token_secret)
        api=tweepy.API(auth)
        statuses=Cursor(api.list_timeline, owner='', slug='').pages()
        context = {'statuses':statuses}
        return render(request, 'dash.html', context)

在 Django 模板中渲染:

{% for tweets in statuses %}
tweets.text
{% endfor %}

https://dev.twitter.com/web/embedded-tweets

于 2015-09-27T14:50:25.693 回答
0

访问包含推文的实际变量(例如 {{status.text}})或在您的状态模型上定义一个unicode方法,如下所示:

class Status(models.Model):
    def __unicode__(self):
        return self.text

假设 Status 是一个 Django 模型。

于 2012-04-22T17:47:47.713 回答