2012-02-06 7 views
0

私はdjangoを初めて使いました。管理サイト内でカスタムアクションを作成する方法を理解しようとしています。 私はファンシーajaxベースのUIでカスタムフォームを作成したいとしましょう。 私は通常.NET/PHP/Rubyで何をしますかは、いくつかのjsコードとajax経由で呼び出され、jsonまたはhtmlを返すサービスを準備しています。 より具体的な例は、多対1の関係を管理するためのオートコンプリートボックスです。私はdjangoの管理サイト内にそのようなシステムを構築するために何をすべきですか? (私はこれのためのソリューションを使用する準備ができてカップルがあることを知っていますが、私は興味がない:研究目的のためだけに)。Djangoの管理サイトでカスタムアクションを作成する(リストアクションではない)

答えて

1

この特別なケース(魅力的なウィジェット)では、ModelAdminにはModelAdmin.formModelAdmin.formfield_overridesのようないくつかの有用なフックがあります。

カスタムDjangoフォームウィジェットの作成はより洗練されていますが、ウィジェットが(多くのjQueryウィジェットのように)純粋なJSの場合、問題のモデルではちょうどoverride the change_form.html admin templateの価値がありません。

0

ModelAdminformtemplateを簡単に変更できます。

あなたは好きなCSSとJSを自由に注入できます。基本的な考え方を理解するには、このpresentationをご覧ください。

+0

私はこのプレゼンテーションをもっと深く勉強しなければならないでしょうが、私が探していたものは管理サイトのカスタムビューです。 他のmvcフレームワークから来ても、私はまだ混乱したdjangoデザインパターンを見つけました。実際にはdjango(mtv)のビューは実際にコントローラ(mvc)です。 他の簡単な方法があるかもしれません。私は調査しなければならないでしょう。 – user711643

+0

正直言って、なぜあなたは管理者のカスタムフォームを構築したいのか分かりません。 Djangoには、完全なカスタムビューとフォームを構築するためのヘルパーがたくさんあります(https://docs.djangoproject.com/en/dev/topics/forms/modelforms/)。管理者は、迅速なデータ入力のためのヘルパーに過ぎません。何をすべきかについての明確な考え方があれば、必要に応じて管理者を調整することをあまり気にしないでください。 – arie

+0

それは完全に新しい世界なので、私の鼻の下にあっても私の問題に対する解決策を見逃しているかもしれません。とにかく管理サイトは私にウェブ開発のためのdjangoを選ぶことができる主な(唯一の)理由です。 私がそれを利用できず、不足している部分を自分のニーズに合わせてカスタマイズできない場合は、djangoを選んでも意味がありません(それは私の意見です)。 管理サイトは、すばやく汚れたデータ入力ツールとは思えません。 – user711643

関連する問題