0

ブログにMarkdown構文が必要でした。python-markdown2ライブラリを使用することにしました。私はTDDプロセスに従うので、Markdownライブラリをインポートして機能するテストを作成しました。次に、必要なのは、すべてのテストに合格するように出力の一部を変換することだけでした。プレゼンテーションロジックのようなものだと思うので、ライブラリをインポートしたいテンプレートタグを作成しました。問題は、そのライブラリをインポートできないことです。何時間もデバッグしましたが、それでも理由がわかりません。

いくつかの事実:

  1. 以前にtests.pyにインポートされました(したがって存在します)、
  2. 外部ライブラリを使用しなくても、テンプレートタグは正常に機能します。

正確なエラーメッセージ:

TemplateSyntaxError at /article/1/foo-bar/
'cheese' is not a valid tag library: ImportError raised loading blog.templatetags.cheese: cannot import name markdown

これがtemplatetags/cheese.pyです:

from django import template
import markdown2

register = template.Library()


@register.filter
def eggs(value):
    return value

テンプレートは次のとおりです。

{% load cheese %}

PS必要に応じて、完全なエラーすべてのコード

4

2 に答える 2

1

トレースバックは、github リポジトリに存在しないものを示しています: templatetags ディレクトリmarkdown2.pyに というファイルがあり、cheeseファイルがimport markdown2. このファイルを削除すると、正しいファイルが見つかるはずです。

于 2012-09-02T15:31:20.693 に答える
0

コンソールから、プロジェクトのディレクトリで Virtualenv を有効にして、次を試してください。

pip install markdown2

それは私を助け、同じ問題を抱えていました。を使用して確認しました

pip freeze

そのmarkdown2は、PyCharmに表示されていたとしても、実際にはインストールされていません。

于 2016-07-22T15:51:32.310 に答える