Tech エントリー[インストール・アップグレード]
Feedjack で Planet
フィードをゴニョゴニョしている Django なアプリはないかなぁーと探してみたら。
Feedjack - Feed aggregator powered by Python and Django
一応、最新のバージョンで Django 1.0 beta 1 に対応させている模様。
Feedjack 0.9.16
Added compatibility with Django 1.0 beta 1: newforms admin and pagination
Feedjack - Feed aggregator powered by Python and Django
他には、TurboGears で作られたもの (最近はメンテナンスされていないっぽい) や、有名どころで planetplanet.org の Planet などがある。
planet は Planet GNOME や Planet Debian をはじめとしてあちこちで使われているもので一番メジャー。Feedjack は Django を使って作られていて planet より新しい。cogplanet は、TurboGears を使って作られている。1年以上、手が入っていないしマイナーな存在か。
傀儡師の館.Python - 楽天ブログ(Blog)
ということで Feedjack を動かしてみようと試みたが ... 思いがけず四苦八苦。
なんせドキュメントがない (と思われる)
恐らく、唯一、公式サイトのホームに最低限必要と思われること (Installation, Configuration のあたりを参照) が書かれているだけ。
ポイントを整理すると以下のような感じ。
- feedparser が依存ライブラリとして必要で
- feedjack 用のメディア系のファイルがあるので MEDIA_URL の設定が必要
- INSTALL APPS は django.contrib.admin と feedjack
- 併せて、urls で、通常の admin の追加と feedjack の urls を読込む
単に Django のお作法 ? を忘れていただけなんだけど二カ所でハマった。
開発サーバーでのメディア系のファイルの扱い
明示的に設定してあげないといけない。
なんか以前にもハマった気がする ...
単に忘れていたため繰り返してしまったような ...
Django 自体では、画像やスタイルシート、ビデオといった静的な (メディア) ファ イルを提供しません。通常、 Django はメディアファイルの提供を使っている Web サーバの仕事として残しておきます。なぜなら、 Apache や lighttpd のような 標準的な Web サーバは Web アプリケーションフレームワークよりもはるかに高 性能な静的ファイル提供機能を備えているからです。
というわけで、 Django が静的ファイルをサポートするのは 開発中だけ です。 メディアファイルの提供には django.views.static.serve() ビューを使って 下さい。
Django v1.0 documentation
ということで、settings.py の MEDIA_ROOT, MEDIA_URL とあわせて urls.py に以下の記述が必要。
(r'^site_media/(?P.*)$', 'django.views.static.serve',
{'document_root': '/path/to/media'}),
'/path/to/media' の部分は settings.py の MEDIA_ROOT を読込むと良いのかなぁと思い、ファイルの先頭で from settings import * とかして以下のように記述。
from settings import *
urlpatterns = patterns('',
(r'^feedjack_statics/(?P.*)$', 'django.views.static.serve', {'document_root': MEDIA_ROOT}),
)
Django1.0 で admin の有効化の方法が多少変わってる ?
多分、1.0 になる以前と異なっていると思う。
はじめての Django アプリ作成、その 2 #サイトの有効化 -- Django v1.0 documentation admin
Feedjack のサイトには urls.py の記述方法が (r'^admin/', include('django.contrib.admin.urls')), と書かれており、素直にそのまま書いてしまった。
チュートリアルの通り、INSTALL APPS に django.contrib.admin して urls.py の admin 系のコメントアウトを外して有効にするだけでよい。
以上で、python manager.py runserver 後、localhost:8000 でエラーは出なくなったが、使い方がいまいちよくわからない。
クロールを自動化するためと思われる bin/feedjack_update.py というコマンドがあるようだけど、これの使い方も詳しく分からず、admin 画面からフィードを登録したけど...
英語で検索してみるかぁ...
おまけ
- Panopticon :: Django :: DjangoでRSSリーダーを作る(1)
- Panopticon :: Django :: DjangoでRSSリーダーを作る(2) 解決編?
- Panopticon :: Django :: DjangoでRSSリーダーを作る(3)
- Panopticon :: Django :: DjangoでRSSリーダーを作る(3.5)
- Panopticon :: Django :: DjangoでRSSリーダーを作る(4) カスタムタグ内で別の変数を参照したいとき
- Panopticon :: Django :: djangoでRSSリーダーを作る(5)
追記
2008年11月13日 追記
環境変数 DJANGO_SETTINGS_MODULE を設定しろよ、というアドバイス。
Problems executing feedjack_update.py
Django is well known for hiding useful exception messages. Did you set
your DJANGO_SETTINGS_MODULE env var?
If you didn't, try something like:
DJANGO_SETTINGS_MODULE=pathto.mysettings /home/eka/bin/
feedjack_update.py
Let us know if that worked.
Feedjack | Google Groups
ドキュメント整備してくれ~。
コメント (0) トラックバック (0) Atom/RSS
投稿: 2008年11月03日 19:55 / 最終更新: 2008年11月13日 16:08
« BlogD ができるまで - Django でアプリケーション開発 その2



コメント (投稿する)