フォームの検証後、テキストエリアの最初の行が失われます。
テキストエリアが表示される結果ページは、ユーザーがデータを入力するページと同じビューとテンプレートに対応しています。つまり、ページは同じです。
私のコードでは、次のようなものがあります。
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 -->
...
テキストエリアの先頭に多くの「\n」行がある場合、「POST」リクエストごとに、投稿されたデータがテキストエリアに表示される結果ページでそのうちの 1 つ(および 1 つだけ) が失われるのは興味深いことです。
誰でも助けることができますか?コードをハックせずに問題を回避するにはどうすればよいですか?
ユーザーが前のページで入力した最初の '\n' 行をすべて textarea に表示したいと思います。
もっと。
通常、データはクライアントから取得されます。ビューに「値」を出力すると、改行が欠落していません。問題は、テンプレートでさらに表示することです。
環境: Windows、Firefox/Opera。