2011-01-01 13 views
6

私はちょうど私の家族のための雑誌のマネージャー、私の最初のアプリを書くDjangoで始まっています。このチュートリアルでは、add related objectsの表形式での方法を説明します。私は関連するオブジェクトを気にせず、通常のオブジェクトを表形式で追加したいだけです。これは私が私のadmin.pyに持っているものDjango管理者に表形式でモデルを追加する方法を教えてください。

from chores.models import Chore 
from django.contrib import admin 

class ChoreAdmin(admin.ModelAdmin): 
    fieldsets = [ 
     (None,    {'fields': ['description', 'frequency', 'person']}) 
    ] 

admin.site.register(Chore, ChoreAdmin) 

であると私はむしろ見よりもその「雑用を追加」をクリックすると私がしたい:

Description: _____ 
Frequency: ______ 
Person: _____ 

私はそれを表示する:

Description: __________ | Frequency: _______ | Person: _____ 

これは簡単ではありませんか、それとも多くのカスタム作業が必要ですか?それが簡単なのであれば、どうすればいいのですか?

ありがとうございます!

答えて

6

OPはおそらく、すべてのセットです。しかし、これを読んで、新規ユーザーのための、を参照してください。


:基本的にはリンク部分を次 https://docs.djangoproject.com/en/dev/ref/contrib/admin/

fields:このフィールドセット内に表示するフィールド名のタプル

field_options辞書には、以下のキーを持つことができます。このキーは必須です。

例:ちょうど同じ行に複数のフィールドを表示するにはfieldsオプションと同様

{ 
'fields': ('first_name', 'last_name', 'address', 'city', 'state'), 
} 

、自分のタプルでこれらのフィールドを包みます。この例では、first_namelast_nameフィールドが同じ行に表示されます。* *素敵なので、そのための1、私は作成/追加ページがあることに表示したい、編集を可能にします

{ 
'fields': (('first_name', 'last_name'), 'address', 'city', 'state'), 
} 
0

私の知る限り、これにはデフォルトのModelAdminオプションはありませんが、管理サイトのCSSを変更したり、モデルごとにchange_form.htmlのレイアウトを変更することができます。

あなたは(MediaクラスでModelAdminをサブクラス化することで、モデル単位で)自分のCSSを使用するために、管理サイトを変更して、それを修正する(おそらくbody.change-form CSSクラスを利用すること)と確認フィールドセットすることを作ることができます互いに隣り合っている。

/admin/chores/chore/change_form.htmlという名前のテンプレートディレクトリ内にテンプレートを作成することもできます。残念ながら、実際のフォーム要素を作成する部分は別のブロックにはありません。したがって、django/contrib/admin/templates/admin/change_form.htmlファイル全体をコピーして、カスタムコンテンツで 'content'ブロックを上書きする必要があります。

詳細については、relevent documentationを参照してください。

2

しようとするものは、(私が正しくドキュメントを読んだ場合)は、表形式で、すべてのエントリを編集するために有効にする必要があり

class ChoreAdmin(admin.ModelAdmin): 
list_display = ('description', 'frequency', 'person') 
list_editable = ('description', 'frequency', 'person') 

...

+2

方法。 –

関連する問題