python-twitter + jinja2でツイートを表示
昨日の記事 で取得したツイートをHTMLで表示したいと思います。
使うパッケージは jinja2
パッケージのインストール
$ python --version
Python 2.7.3 -- 64-bit
$ sudo pip install jinja2
$ pip show jinja2
---
Name: Jinja2
Version: 2.7.1
Jinja2 テンプレート
ツイートの表示はTwitterの widgets.js を使います。
<script type="text/javascript" src="http://platform.twitter.com/widgets.js"></script>
あとは、クラスに twitter-tweet を付けるだけです。
{%- for tweet in tweets -%}
<blockquote class="twitter-tweet">
<a href="https://twitter.com/{{ tweet.user.screen_name }}/status/{{ tweet.id }}">https://twitter.com/{{ tweet.user.screen_name }}/status/{{ tweet.id }}</a>
</blockquote>
{%- endfor -%}
テンプレートに渡すのは、Twitter API(python-twitter パッケージ)で使用されるステータスの構造を表したクラスである twitter.Status のリストです。
>>> type(tweets)
list
>>> type(tweets[0])
twitter.Status
このクラスからツイートのIDやユーザー名が取り出せます。
>>> tweets[0].id
421521056432533504
>>> tweets[0].user.screen_name
u'imas_anime'
あとは tweet という変数に順次代入しながらループするだけです。
https://twitter.com/{{ tweet.user.screen_name }}/status/{{ tweet.id }}
tweet.id tweet.user.screen_name が変わっていきます。
https://twitter.com/imas_anime/status/421521056432533504
- 参考にしました