2010年4月7日水曜日

Django:models.URLField の管理画面での入力欄の幅を広げる方法

 いろいろな所から情報を集めてなんとか出来た。この方法を応用すれば、管理画面の各種 css のパラメータを変更出来る。

1.default のテンプレートをオーバーライドするディレクトリを作る
 settings.py で定義されている TEMPLATE_DIRS の下に admin ディレクトリを作る。

2.そのディレクトリに dafult からオーバーライドするテンプレートをコピー
 管理画面の[追加・編集]を変更したい場合は
   Lib\site-packages\django\contrib\admin\templates\admin\change_form.html

3.{% block extrahead %} 内にオーバーライドする内容を挿入(こちらのページの687行目)
 今回は以下の赤い部分が追加分
{% block extrahead %}{{ block.super }}
<script type="text/javascript" src="../../../jsi18n/"></script>
{{ media }}
<style type="text/css"><!-- .vURLField { width:60em; } --></style>
{% endblock %}

# extends のパスをうまく設定すれば change_form.html を丸々コピーする必要はなさそうだが、今回はパス このやり方ではデプロイしたら動かなかったので、結局必要最低限だけオーバーライドさせた

0 件のコメント:

コメントを投稿