python-twitter + wheezy.templateでツイートを表示
だいぶ前の python-twitter + jinja2でツイートを表示 をwheezy.templateでやってみる。
ゆくゆくはwheezy.webを使えるようになりたいので、まずはwheezy.templateの練習。
パッケージのインストール
$ python --version
Python 2.7.3 -- 64-bit
$ sudo pip install wheezy.template
$ pip show wheezy.template
---
Name: wheezy.template
Version: 0.1.151
wheezy.template テンプレート
ツイートの表示はTwitterの widgets.js を使う。
@def script():
<script type="text/javascript" src="http://platform.twitter.com/widgets.js"></script>
@end
あとは、クラスに twitter-tweet を付けるだけ。
@def content():
@require(tweets)
@for tweet in tweets:
<blockquote class="twitter-tweet">
<a href="https://twitter.com/@tweet.user.screen_name!s/status/@tweet.id!s">https://twitter.com/@tweet.user.screen_name!s/status/@tweet.id!s</a>
</blockquote>
@end
@end
@変数!s で文字列を表示する。wheezy.templateでは、必要な変数を使用前に記載する。
@require(tweets)
テンプレートの構成は次のとおり。
.
├── templates
│ ├── shared
│ │ ├── master.html
│ │ └── snippet
│ │ └── script.html
│ └── twi_wheezy.html
├── tw_key.py
└── twi_wheezy.py
コード
テンプレートは twi_wheezy.html として、 shared/master.html を拡張する。
ローダーには FileLoader を使って、searchpath にある twi_wheezy.html をテンプレートとして用いる。あとは、テンプレートの変数を辞書として渡してあげれば良い。日本語を使うときはunicodeに注意する。ここでは html_escape を使用していない。
出力されたHTMLをブラウザで見るとこうなる。オリジナルサイズはこちら。
伊織、かわいい!