ここに、テキスト入力ウィジェットを含むDjangoフォームがあります。text-inputのHTML値属性を変更して、ユーザーの最後の検索を反映できるようにしたいと思います(これにより、ユーザーはタイプミスしたクエリをすばやく変更できるようになります)。現在、以下のスニペット{{ search_form_value }}
はHTMLで文字通りレンダリングされるため、機能しません。HTMLを再レンダリングして、入力することができると思っていました{{ search_form_value }}
。しかし、それがどういうわけかセキュリティ関連の問題(おそらくXSS?)、または望ましくない他の何かに私を開くことができるかどうかはわかりません。
私がやりたくないことをするための慣用的/より良い方法があれば、私はすべての耳です。
class SearchForm (forms.Form) :
_search_attrs = {'class' : 'some_css_class',
'title' : 'a title',
'placeholder' : 'a placeholder',
'value' : '{{ search_form_value }}'}
search = forms.CharField(max_length=100, label='',
widget=forms.TextInput(attrs=_search_attrs))
すべてが終わったら、クライアントに表示されるHTMLを次のように表示します。
<input class="some_css_class" maxlength="100" placeholder="a placeholder" title="a title" type="text" value="the users last search">