0

add_to_builtins('gravatar.gravatar')

  • 私のsettings.pyファイルで使用されており、ページの読み込み時に次のエラーでクラッシュします:

トレースバック (最新の呼び出しが最後):

ファイル "C:\development\python\Lib\site-packages\django\core\servers\basehttp.py"、283 行目、実行中の self.result = application(self.environ, self.start_response)

ファイル "C:\development\python\Lib\site-packages\django\contrib\staticfiles\handlers.py"、68 行目、呼び出しで return self.application(environ, start_response)

ファイル "C:\development\python\Lib\site-packages\django\core\handlers\wsgi.py"、272 行目、呼び出し 応答 = self.get_response(request)

ファイル "C:\development\python\Lib\site-packages\django\core\handlers\base.py"、169 行目、get_response 応答 = self.handle_uncaught_exception(request, resolver, sys.exc_info())

ファイル「C:\development\python\Lib\site-packages\django\core\handlers\base.py」、203 行目、handle_uncaught_exception で debug.technical_500_response(request, *exc_info) を返す

ファイル「C:\development\python\Lib\site-packages\django\views\debug.py」、59 行目、technical_500_response html = Reporter.get_traceback_html()

ファイル「C:\development\python\Lib\site-packages\django\views\debug.py」、128行目、get_traceback_html t = Template(TECHNICAL_500_TEMPLATE, name='Technical 500 template')

ファイル "C:\development\python\Lib\site-packages\django\template\base.py"、108 行目、init self.nodelist = compile_string(template_string, origin)

ファイル「C:\development\python\Lib\site-packages\django\template\base.py」、135 行目、compile_string parser = parser_class(lexer.tokenize()) 内

ファイル "C:\development\python\Lib\site-packages\django\template\debug.py"、34 行目、init super(DebugParser, self) 内。init (レクサー)

ファイル「C:\development\python\Lib\site-packages\django\template\base.py」、208行目、init print lib.tags

AttributeError: 'NoneType' オブジェクトには属性 'tags' がありません

add_to_builtins 機能を使用しない場合、つまり、ビューにプレーンな古いロード タグを使用しない場合、gravatar の使用に問題がない場合。私はそれをかなり使っているだけなので、 add_to_builtins 機能を利用するかもしれないと考えました。

見たところ、for gravatar.gravatar が None を返すため、インポートされたバージョンがクラッシュしimport_library(module)ます (その行を印刷したところ、None が返されたため、これはわかっています)。

4

1 に答える 1

0

ああ、グラバター。

わかりました、add_to_builtinsを使用してこれをインポートする方法がすべて間違っていました-私がする必要があったのは:

add_to_builtins('gravatar.templatetags.gravatar')

理由はわかりませんが、それはうまくいきます。これで、面倒な "load" ステートメントを使用する必要がなくなり、喜んで呼び出すことができます。

{% gravatar story.user 40 %}

私のテンプレートのいずれかから。わーい!

于 2012-06-22T03:41:05.403 に答える