質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.51%
Django

DjangoはPythonで書かれた、オープンソースウェブアプリケーションのフレームワークです。複雑なデータベースを扱うウェブサイトを開発する際に必要な労力を減らす為にデザインされました。

Q&A

解決済

1回答

2237閲覧

【Django】adminサイトの入力方法を表形式にしたい。

退会済みユーザー

退会済みユーザー

総合スコア0

Django

DjangoはPythonで書かれた、オープンソースウェブアプリケーションのフレームワークです。複雑なデータベースを扱うウェブサイトを開発する際に必要な労力を減らす為にデザインされました。

0グッド

2クリップ

投稿2015/07/05 12:29

Djangoで工事台帳を作成しており、
支払データ(Paymentモデル)を入力するAdmin画面を作成しようとしています。
Djangoが自動で作ってくれた入力画面は、下記のとおりです。
![現状]WIDTH:600

これを、下記のように、テーブル形式で入力していけるようにカスタマイズしたいです。
![希望]WIDTH:597
要は、1項目ごとにsaveするのではなく、ある程度入力してから、saveできるようにしたいのです。
下記のドキュメンテーションによると、
django/contrib/admin/templates/admin/
の中にあるテンプレートをコピーして、templates/admin/my_appディレクトリに置けば良いということですが、その意味がよく分かりませんでした。
http://django-docs-ja.readthedocs.org/en/latest/ref/contrib/admin/index.html#ref-contrib-admin-overriding-admin-templates

とりあえず、change_form.htmlというテンプレートファイルを、
/templates/admin/cls/payment/
ディレクトリにコピーしてみたのですが、全く何も変わりません。

どのようにしたら、変更できるのでしょうか?
お分かりの方、ご教示いただければ幸いです。
よろしくお願いいたします。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

無理矢理なのかもしれませんが、解決しました。
model自体を2つに分けました。
一つは、Paymentモデルで、支払日だけを入力するモデル。
もうひとつは、PaymentDetailモデルで、それ以外の項目を入力するモデル。

lang

1#admin.py 2class PaymentDetailInline(admin.TabularInline): 3 model = PaymentDetail 4 extra = 50 5 6class PaymentAdmin(admin.ModelAdmin): 7 list_display = ('date',) 8 inlines = [PaymentDetailInline] 9admin.site.register(Payment, PaymentAdmin)

これで、希望するような形にはなりました。
もっとスマートな解決策をご存知の方がみえましたら、ご教示頂ければ幸いです。
よろしくお願いいたします。

投稿2015/07/06 09:53

退会済みユーザー

退会済みユーザー

総合スコア0

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.51%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問