Python 带模板变量替换的额外引号集
我为更新视图编写了这个Python 带模板变量替换的额外引号集,python,django,forms,Python,Django,Forms,我为更新视图编写了这个get\u context\u data方法: def get_context_data(self, **kwargs): context = super(MyAccountEdit, self).get_context_data(**kwargs) context.update({ 'form_title': 'Edit My Account', 'form_attributes': 'method="post"',
get\u context\u data
方法:
def get_context_data(self, **kwargs):
context = super(MyAccountEdit, self).get_context_data(**kwargs)
context.update({
'form_title': 'Edit My Account',
'form_attributes': 'method="post"',
'form_button_label': 'Save'
})
return context
因此,我创建/更新了三个上下文变量。但是,当我在浏览器中查看时,窗体显示如下:
<form method=""post"">
<form method="post">
为此:
'form_attributes': 'method=post',
它似乎将HTML修复为我期望的呈现方式:
<form method="post">
那么,问题是:为什么模板标记插入会以这种方式工作?我误解了什么?我还尝试转义引号并在外部使用双引号
以下是我的模板的相关部分:
<form {{ form_attributes }}>
{% csrf_token %}
<input type="hidden" name="next" value="{{ next }}">
{{ form.as_p }}
<button class="button-primary" type="submit">{{ form_button_label }}</button>
</form>
{%csrf_令牌%}
{{form.as_p}}
{{form_button_label}}
这是一个很小的错误,但希望将来有人会犯这个错误并搜索堆栈溢出
问题是我应该使用safe
过滤器来确保替换按照我最初的预期进行
工作模板部分:
<form {{ form_attributes|safe }}>
这将产生我期望的结果:
<form method="post">