2012-04-01 19 views
1

インラインの表示を変更してthisに変更することはできますか?私は管理テンプレートファイル "tabular.html"を変更することを考えていました、それは可能になるか、私は別のものを変更する必要がありますか?Djangoの表形式のインライン表示

更新

[OK]を、...の任意の手掛かりを私はtabular.htmlを編集しようとしてきたが、ジャンゴとの私の経験では、必要な変更を加えることがどこか/理解することは十分ではありません私は開始する必要がありますか? CSSを変更してはいけませんか? 私は秒を変更することができた私は場合{{field.field}}が自動的にドロップダウンメニュー(Djangoの管理デフォルト)をレンダリングすることをこれを正しく理解して...

アップデート2

推測私は仕事だと思う私が望んでいたが、私は最初のもののためにトリッキーになるだろうと思う機能の列... status

現在の更新3

一つハックにありますそれぞれのインラインで最初のフィールドのオプションの1つだけを表示してから、「別のオプションを追加」を無効にします。 "tabular.html"のオプションを反復するにはどうすればよいですか?

更新4

は、私は行ごとに1つだけの選択肢を表示するために、フィールドの選択に反復することができますどのように...トリックはここで行われる必要がありますね?

{% for fieldset in inline_admin_form %} 
      {% for line in fieldset %} 
      {% for field in line %} 
      {{ field.get_choices_display }} 
       <td class="{{ field.field.name }}"> 
       {% if field.is_readonly %} 
        <p>{{ field.contents }}</p> 
       {% else %} 
        {{ field.field.errors.as_ul }} 
        {{ field.field }} 
       {% endif %} 
       </td> 
      {% endfor %} 
      {% endfor %} 
     {% endfor %} 

答えて

3

はい、あなたはたとえばcustomized_inline.htmlのために、カスタマイズしたテンプレートにごInlineModelAdminインスタンスのtemplateを変更することができます。テンプレートパスのdjango/django/contrib/admin/templates/admin/edit_inline/tabular.htmlをテンプレートパスのcustomized_inline.htmlにコピーしてください。

編集

おそらく、私が誤解されました。フォームフィールドのレンダリングスタイルを変更する場合は、通常はwidgetを変更します。 Django ModelAdminとInlineModelAdminでは、フィールドウィジェットをカスタマイズする主な方法はBaseModelAdmin.formfield_for_dbfieldメソッド内でdjango/contrib/admin/options.py、コードを読み込み、フォームフィールドのウィジェットを変更するときはthe docとなります。

選択肢があるフィールドでは、ModelAdmin/InlineModelAdminインスタンスにradio_fieldsを設定するだけで、フィールドをドロップダウンではなくラジオ選択としてレンダリングできます。さらに

、ForeignKeyのの代わりにOneToOneField使用、またはのような、インラインの複数の行をレンダリングするから管理者を防ぐために、あなたのInlineModelAdminインスタンスにextramax_numを設定します。私はあなたの2番目のリンクを開くことができません

class SomeInlineAdmin(admin.TabularInline): 
    model = Foo 
    extra = 1 
    max_num = 1 

、あなたが投稿できます外部リンクを使用するのではなく、質問の中にあるもの。

+0

ありがとうございます、私は欲しかった効果を得ることができました。 – Pedro

関連する問題