Tech エントリー[インストール・アップグレード]

Feedjack で Planet

あとで読む コメント (0) トラックバック (0) Atom/RSS

フィードをゴニョゴニョしている Django なアプリはないかなぁーと探してみたら。

Feedjack - Feed aggregator powered by Python and Django

一応、最新のバージョンで Django 1.0 beta 1 に対応させている模様。

Changes

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 などがある。

傀儡師の館.Python - 楽天ブログ(Blog)

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 画面からフィードを登録したけど...

英語で検索してみるかぁ...

おまけ

追記

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

タグ (関連キーワード)

トラックバック


コメント (投稿する)

コメント投稿





エントリー検索



最近のエントリー




テクノラティプロフィール

フィードメーター - Jamz Update (all blogs)

スカウター : Jamz

awasete.oshira.se

あわせて読みたい

track feed
SEO対策 | ブログパーツ


イベント情報

LL魂
08月04日(土)開催 参加予定


クリエイティブ・コモンズ・ライセンス
このブログは、次のライセンスで保護されています。 クリエイティブ・コモンズ・ライセンス.

テクノラティプロフィール