2016-12-02 8 views
0

入力ボックス内のテキストが選択されている場合、醜い「入力なし」マウスオーバー画像(firefox)をHTML入力ウィジェットとしてレンダリングする読み取り専用フィールドを持つモデルフォームがあります。 'models.TextField'フィールドの動作は、私が信じる入力としてレンダリングされます。Djangoモデルフォームウィジェット読み取り専用レンダリングテキスト入力フィールドなし

入力ボックスをフォームに入れずに、読み取り専用フィールドを純粋なテキストとして混合してモデルフォームをレンダリングしたいとします。結果はHTMLで次のようになります。..

<p>D:\This\Path</p> 
<p>E:\This\other\path</p> 
<input value="Bob Smith" name="user"></input> 

答えて

0

は、私はあなたがDjangoのフォームから<input>タグを置き換えることができるとは思いません。代わりに、表示するフィールドを<p>として取得し、個別に表示することができます。

<p>{{my_field}}</p> 
{{form}} 

また、あなたのテンプレートproject.htmlであなたのviews.py

# get the fields you want to display as <p> 
my_field = form['my_field'].value() 

# remove from the form 
delete form['my_field'] 

# pass the parameters to render in your template 
return render_to_response('project.html', { 
    'my_field': my_field, 
    'form': form 
}) 

は、あなたもこのような何かを行うことができます。

{% for field in form %} 
    {{ field.value }} 
{% endfor %} 


がありますメソッドas_p()でも、これはちょうどw私があなたが望むとは思わない<p>タグで入力フィールドをラップします。

+0

これも私がやっていることですが、 'self.fields [' media_path ']のような単純なものが欠けているように感じます。widget.attrs [' text_only '] = True – Xeberdee

関連する問題