2011-01-26 19 views
1

を表示する際に、テンプレートが機能していない私はGoogle App Engineの:私のPythonコードでHTMLフォーム

the_button = '''<form action="/edit" method="get" > 
        <input type="submit" name="edit" value="Edit" /> 
        </form>''' 

    template_values = { 'the_button':the_button } 
    path = os.path.join(os.path.dirname(__file__), 'the.html') 
    self.response.out.write(template.render(path, template_values)) 

を持っている問題は、ときに私、私は、ページに表示する際には、ボタンが、非クリッカブルが表示されるということですhtmlのページソースを表示すると、コードは表示されません。

何が問題なのですか?

ありがとうございます!

+1

show_button = true template_values = { 'show_button':show_button } path = os.path.join(os.path.dirname(__file__), 'the.html') self.response.out.write(template.render(path, template_values)) 

あなた 'the.html'テンプレートには何ですか? –

+0

テンプレート{{the_button}} – Peter

答えて

2

Webappは、生のHTMLをエスケープしている可能性があります。ジャンゴdocumentationから

{{ the_button|safe }} 


はこのようなsafeフィルタを追加してみ

safe
Marks a string as not requiring further HTML escaping prior to output.
When autoescaping is off, this filter has no effect.

EDIT:箱から出し
不幸GoogleのApp EngineはありませんDjangoの0.96を実行しますその機能。次の2つのオプションがあり
:あなたはビューにコントローラからの生の危険なHTMLスニペットを渡す必要がある理由

  1. はジャンゴのより新しいバージョン(Django-NonRel
  2. をインストールするには、自問してみてください。
    私はそのボタンをビューに移動して、コントローラーにブール値変数show_buttonを使用して表示するかどうかを許可します。コントローラで

the.html

{%if show_button %} 
    <form action="/edit" method="get" > 
        <input type="submit" name="edit" value="Edit" /> 
        </form> 
{% endif %} 
+0

{{the_button | safe}}を追加した場合、次のエラーメッセージが表示されます。TemplateSyntaxError:無効なフィルタ: 'safe'。他には何ができるだろうか? – Peter

+0

@Peterこれは、* safe *フィルタがDjango 0.96でサポートされていないためです。別の解決策を探しています。 – systempuntoout

+0

0.96はデフォルトでテキストをエスケープしないため、問題になる可能性は低いです。 @Peter、あなたの質問にあなたのページの正確な出力を含めることができますか?あなたのスニペットはソースでは見えないが、レンダリングされたページにはまだ現れていないようです。 –

関連する問題