2017-12-24 26 views
0

私のモデルフォームに 'django-multiselectfield'を使用しているので、ユーザーは自分のフォームで複数の「エリア」を選択できます。私が今知りたいことは、CSSを使ってmultiselectfieldのスタイルを設定する方法です。CSSでdjango-multiselectfieldをスタイルする方法

私は通常、モデルフィールドの他のすべてのタイプで行うように私は私のテンプレートにフォームフィールドにクラスを追加するだけで試してみましたが、ない運:

{% render_field form.area class="area" %} 

すべてのヘルプははるかに高く評価されないであろう。

答えて

0

これは、`django-multiselectfield'のマニュアルに記載されています。具体的には、

フォームテンプレートでこのウィジェットのHTMLをカスタマイズすることは可能です。これを行うには、フォーム{field}.field.choicesをループする必要があります。ここでproviders呼ばMultiSelectFieldのチェックボックスの後に/下にフィールドラベルを表示する例です。

+0

ありがとう、Jason。私はまだ私のdjango-multiselectfieldのチェックボックスのスタイルをとろうとしています。私は各チェックボックスのラベルをスタイルすることができます(例えば)、それは動作しません。どんな助けもありがとう! –

0

ここに私がやったことの一例です。

{% for field in form %} 
    <div class="fieldWrapper">{{ field.errors }} 
    <input type="{{ field.field.widget.input_type }}" name="{{ field.html_name }}" id="{{field.id_for_label}}" class="col-12 input-login" placeholder="{{field.label}}" > 
    {% if field.help_text %} 
     <p class="help">{{ field.help_text|safe }}</p> 
    {% endif %} 
    </div> 
{% endfor %} 

これでフィールドを単純なhtml入力フィールドのようにカスタマイズできます。 このpageには素晴らしい詳細な説明があります。ビトー

に拍手を送りたい------編集-----

はほとんど忘れてしまいました。これは通常のフォームの例です。 django-multiselectfieldの公式ドキュメントを参照してフィールドの属性名を取得し、それぞれの属性を置き換える必要があります。

+0

ありがとう、Vipin。私はまだ私のdjango-multiselectfieldのチェックボックスのスタイルをとろうとしています。私は各チェックボックスのラベルをスタイルすることができます(例えば)、それは動作しません。どんな助けもありがとう! –

+0

最初にdjangoのデフォルトフォームを使用し、ブラウザでコードを調べ、レンダリングされたプレーンなHTMLコードを見て、これらの注意点、特に入力属性とform_id、入力IDなどをメモし、フォームをカスタマイズしてください。例えば、チェックボックスID、値など –

+0

フォームにこだわってしまえば、私はすべてのフォームを入れましたが、field.valueを設定するのを忘れました –

0

フォームを手動でレンダリングしてループすることをお勧めします。

は、あなたがこのようにそれを行うことができ、あなたが質問モデルへのForeignKeyで選択モデルを持っていると言う:

<form class="qform" action="" method="post"> 
    {% csrf_token %} 
    <p class="title">{{ form.question }}</p> 
    {% for choice in form.choice_set.all %} 
     <input type="checkbox" name="{{ choice }}" id="{{ choice }}{{ forloop.counter }}" 
       value="{{ choice.id }}"> 
     <label for="{{ choice }}{{ forloop.counter }}">{{ choice }}</label> 
    {% endfor %} 
</form> 

あなたが好きなあなたのstyle.cssで入力し、ラベルを参照することができます。

input[type="checkbox"]{ 
    some: stuffs...; 
} 

label { 
    some: stuffs...; 
} 

私はこれが助けてくれることを願っています。

+0

こんにちはブンヤ、私はこれを試しましたが、まだ運がありません。私の現在のコード: '{値の%、form.area.field.choices%のテキスト}

{%endfor%}'ここに私のCSS '.area_text { font-family: 'Roboto'、sans-セリフ; } #area_input { border-radius:0px; } '私はラベル(area_text)をうまくスタイルすることができますが、入力チェックボックスのスタイルを変更することはできません!どんな助けも素晴らしいだろう! –

+0

@WillDpardあなたのモデル、ビュー、フォームからcoceを投稿できますか? – bunya

関連する問題