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">