表單驗證後,我的textarea丟失了第一行。爲什麼在'POST'或'GET'請求之後在django模板中缺少'新行'?
顯示textarea的結果頁面對應於相同的視圖,模板是用戶輸入數據的頁面。換句話說,這些頁面是相同的。
在我的代碼,我有這樣的事情:
if request.method == 'POST':
f = MyForm(request.POST)
if f.is_valid(): # f is a form
context.update(value = f.cleaned_data[ 'value' ])
# then 'value' becomes a 'value' context variable for a template.
從模板的片段:
...
<textarea name='value'>{{value}}</textarea>
<!-- It's a template for a result page -->
...
有趣的是,如果textarea的具有在隨後開始的許多「\ n」行對於每個'POST'請求,它都丟失其中一個(並且只有其中之一),結果頁面中的發佈數據顯示在textarea中。
任何人都可以幫忙嗎?如何在代碼中避免黑客攻破問題?
我希望textarea顯示用戶在前一頁輸入的所有'\ n'行。
更多。
數據通常來自客戶端 - 如果我們在視圖中輸出「值」,則不會丟失新行。問題是爲了在模板中進一步顯示。
環境:Windows,Firefox/Opera。
你有看呈現的HTML?那裏有沒有線索可以表明價值是如何呈現的? – cdhowie 2013-03-21 17:52:32
即使第一行不是換行符,這是否會發生? – 2013-03-21 17:55:17
@cdhowie如果我在視圖中爲視圖上下文變量賦值'\ n \ r \ n \ r',那麼我有2個新行。如果我設置'\ n \ n',那麼只有一個。這是一個線索嗎? – sergzach 2013-03-21 17:58:43