0

ここのニュービー。django admin の外部フィールド キーに django-autocomplete-light を使用しています。それはうまくいっています。しかし、アイテムを選択すると、アイテムの下にプラス記号が表示されます。

スペースを節約するために、プラス記号を選択したアイテムと一直線に並べる方法はありますか?

明確にするために編集-私はdjango grappelliを使用しています。 ここに画像の説明を入力

テンプレートとcssをオーバーライドする方法を説明してくれたdjango-autocomplete-lightの作者であるjpicに感謝します。画像を貼り付けられるようになりました。

上の画像には、Public Telecom Entity (PTE) と Antenna の 2 つのオートコンプリートがあります。カスタマイズされたフォームは

class Meta: widgets = autocomplete_light.get_widgets_dict(Equipment) 

PTE は次の形式で定義されます。

carrier = forms.ModelChoiceField(Carrier.objects.all(), 
                 label="Public Telecom Entity",    
                 widget=autocomplete_light.ChoiceWidget('CarrierAutocomplete', 
                 attrs='style':'width:520px;',})) 

しかし、私はアンテナを定義しませんでした。このフィールドは Meta ウィジェットを使用すると思います。

4

1 に答える 1

1

スペースを節約するために、プラス記号を選択したアイテムと一直線に並べる方法はありますか?

プラス記号は私にとっては問題ないようです:

ここに画像の説明を入力

スペースを節約するためにプラス記号を選択した項目と一致させるために押すボタンはありませんが (これは私にはわかりません)、好みに合わせてウィジェットのデザインを変更できます。それが、この回答で詳しく説明することです。

ウィジェット テンプレートのオーバーライド

テンプレートをオーバーライドできますautocomplete_light/widget.html

これを行うには/path/to/autocomplete_light/templates/autocomplete_light/widget.htmlautocomplete_lightいずれかのTEMPLATE_DIRS. 例えば:

mkdir ~/your_project/templates/autocomplete_light
cp ~/env/lib/python/site-packages/autocomplete_light/templates/autocomplete_light/widget.html ~/your_project/templates/autocomplete_light

サーバーを再起動すると、安全に編集できます~/your_project/templates/autocomplete_light/widget.html

スタイルシートのオーバーライド

スタイルシートも同様です。それをハッキングするためにしなければならないことは、それautocomplete_light/static/autocomplete_light/style.cssをあなたのSTATICFILES_DIRS. django の staticfilesがどのように機能するのかまだよくわからない場合は、 Surviving staticfilesを読んでください。例えば:

mkdir ~/your_project/static/autocomplete_light
cp ~/env/lib/python/site-packages/autocomplete_light/static/autocomplete_light/style.css ~/your_project/static/autocomplete_light

開発サーバーを再起動すると、好みに合わせて安全に変更~/your_project/static/autocomplete_light/style.cssできます。

本当に良い方法があると思うなら

autocomplete-light v1 で出荷されるデフォルトのウィジェットについてもっと良いアイデアがあると思われる場合は、気軽にgithubでプル リクエストを開いてください。

于 2013-12-10T15:30:17.067 に答える