我在这里有一个 Django 表单,其中包含一个文本输入小部件。我希望能够更改文本输入的 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">