[英]Extra set of quotes with template variable replacement
我為更新視圖編寫了此get_context_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"">
由於存在額外的引號,因此該表單使用get
而不是post
,因為它將method=
之后的那行解釋為空字符串。 在代碼中更改此行之后:
'form_attributes': '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>
這是一個微不足道的錯誤,但是希望將來有人能夠做到並搜索Stack Overflow。
問題是我應該使用safe
過濾器以確保更換能夠如我最初預期的那樣進行。
工作模板部分:
<form {{ form_attributes|safe }}>
結果是我期望的輸出:
<form method="post">
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.