そこで、ページに Twitter フィードを表示する方法を提供する Django の再利用可能なアプリを作成しようとしています。私はそれがすでに20回存在することをよく知っています。アカデミックな練習です。:)
ディレクトリ構造は非常に単純です。
myproject
|__ __init__.py
|__ manage.py
|__ settings.py
|__ myapp
|__ __init__.py
|__ admin.py
|__ conf
|__ __init__.py
|__ appsettings.py
|__ feedparser.py
|__ models.py
|__ templates
|__ __init__.py
|__ templatetags
|__ __init__.py
|__ twitterfeed.py
|__ views.py
|__ templates
|__ base.html
|__ urls.py
Django シェルを実行すると、twitterfeed.py で定義された関数が完全に機能します。また、テンプレート タグに適切な名前を付けて登録していると思います。
ご覧のとおり、優れたUniversal Feed Parserを使用しています。私の問題は UFP 自体にあるのではなく、テンプレート タグ ライブラリのインポート中に UFP を呼び出せないことにあります。base.py{% load twitterfeed %}
に入ると、次のエラーが発生します。
'twitterfeed' は有効なタグ ライブラリではありません: django.templatetags.twitterfeed からテンプレート ライブラリを読み込めませんでした。feedparser という名前のモジュールはありません
次のステートメントを使用して feedparser をインポートします。
import re, datetime, time, myapp.feedparser
私が知る限り、このエラー メッセージは少し欺瞞的です。テンプレート ライブラリが読み込まれると ImportError が発生すると思いますが、これは Django の解釈です。
アプリのユーザーが PythonPath のどこかに feedparser を配置する必要なく、再利用可能なアプリ内に feedparser.py をインポートする方法はありますか?
ありがとう!