2011-12-01 10 views
4

私はbase.htmlgae_mini_profiler {%のprofiler_includes%}は無効なブロックタグを与える:「profiler_includes」

は、それは結果の私の一番下に{% profiler_includes %}タグを配置

私のジャンゴ - nonrelアプリでgae_mini_profilerをインストールしようとしています

Exception Type: TemplateSyntaxError 
Exception Value: Invalid block tag: 'profiler_includes' 

に私は

from gae_mini_profiler import profiler 
application = profiler.ProfilerWSGIMiddleware(application) 
を置い

djangoppengine/main/__init__.py

の一番下に私は私が間違っているのは何https://github.com/kamens/gae_mini_profiler#start

で他のすべての指示に従いましたか?

答えて

0

GAE用の新しいPython 2.7ランタイムを使用していますか?もしそうなら、djangoテンプレートの設定は少し異なり、gae_mini_profilerはまだアップグレードされていません(誰でもこの修正を提出することはできますが、まだ手に入られていません)。

あなたがする必要があるのは、gae_mini_profiler.templatetags.profiler_includes()によって返されたHTML文字列をページ内の任意の場所にレンダリングする方法を見つけることだけです。組み込みのテンプレートタグがそのまま動作していない場合は、これを達成するためのさまざまな方法があります。あなたは単純にベースリクエストハンドラで関数を呼び出して、必要な場合は結果のhtmlをベーステンプレートに渡すことができます(これは明らかにグロスハックです)。

まもなくPython 2.7がgae_mini_profilerで動作することをうれしく思います。 Python 2.7でない場合は、現在のコードが動作することを期待しているので、何が問題なのか分かりません。

+0

はい私はPython 2.7 – Gabriel

+0

にあります。このバグは関連するappstatsでも見つかるかもしれません。http://code.google.com/p/googleappengine/issues/detail?id=6448 – Gabriel

+0

@DataSurferはい、それは問題です。 2.5に落とすとすべてが問題ありません。上記の速い回避策を試すか、2.7互換にアップグレードするまで待つことができます。 – kamens

2

gae_mini_profiler/templatetags.pyを真のテンプレートタグライブラリに変更してこの問題を解決しました。

これを行うにはtemplatetagsというパッケージを作成し、templatetags.pyモジュールをprofiler_tags.pyに移動(名前を変更)します。 profiler_tags.pyの内部

次のように変更します。

変更:

from google.appengine.ext import webapp 
register = webapp.template.create_template_register() 

へ:

from django.template import Library 
register = Library() 

変更:

path = os.path.join(os.path.dirname(__file__), "templates/includes.html") 

へ:あなたの設定で

path = os.path.join(os.path.dirname(__file__), "../templates/includes.html") 

インストールされたアプリのリストにgae_mini_profilerを追加するファイル。


あなたは、負荷ブロック

{% load profiler_tags %} 

を追加する必要が{% profiler_includes %}を持っていたwhereever私はそれがすべてだと思うのテンプレートで

template.register_template_library('gae_mini_profiler.templatetags') 

へのすべての参照を削除します変更が、私のgitログをチェックする必要があります。

関連する問題