DjangoAdventの管理パブリケーションでのjQueryの翻訳
r12297の更新は
jquery.js
しました
jquery.js
という新しいファイルが
django/contrib/admin/media/js
jquery.js
現れました。 Djangoの管理において、この変更は新しい時代の始まりであり、トレンディな機能、美しいウィジェット、使いやすさの向上の時代です。
jQueryの引数
jQueryライブラリーの管理への統合は以前に議論されたという事実にもかかわらず、GSoC参加者の管理インターフェイスを改善する提案に関連して、この夏だけに真剣に検討されました。これは、フレームワークを使用せずに実装するのが難しいいくつかの強力なインターフェイス機能を意味します
管理用のJavascriptフレームワークの必要性を過小評価することは困難です。 適切なサイズのプロジェクトの生のJavascriptは、フレームワークの量と複雑さに徐々に近づいています。 これは、クロスブラウザの問題、パッチ、および正規化を扱う本当の地雷原です。 フレームワークはこれらの困難を取り除き、開発者がクールなピースの作成に集中できるようにします。 私たちは常に前進していますが、今日では、DOM APIにJavascriptを直接記述する理由が十分にありません。代わりに、有用な機能を(バグを少なくして)追加できます。
jQueryが最も好まれるフレームワークである理由を理解することも簡単です。このライブラリは 、JSフレームワーク戦争で地滑り的な勝利を収めました。 jQueryはbuiltwith.comによって追跡されるサイトのほぼ30%を使用します。 別のライブラリを選択すると、有能な開発者、アクセスしにくいコード、および小さなサポートコミュニティが表示されます。
DjangoがjQueryを宣伝しているわけではありません
コミュニティでは、jQueryの導入により、あるフレームワークが別のフレームワークにプッシュされているという懸念がありますが、そうではありません。
実際、Djangoはツールの選択に依存しません。 管理は、開発者ではなく、エンドユーザー向けに設計されたアドオンアプリケーションです。 管理ツールはコンテンツマネージャーに影響を与えず、開発者もそれらに限定されません。
Djangoの管理を変更した場合、jQueryは絶対に気にしません。 たとえば、
$
関数が名前空間を占有しないように、管理は
jQuery.noConflict()
を使用するため、個人ウィジェットでPrototypeから
$()
を競合なしで使用できます。 また、jQueryは、それを使用するウィジェットがあるページでのみロードします。
以前のように、アプリケーションはあなたがより適切だと思うものを使用するかもしれません。 Djangoの管理に関しては、ドキュメントが不完全なバグのあるJavascriptライブラリを追加するよりも、実績のある信頼できるフレームワークを含める方が合理的です。
これで、Djangoの管理がはるかに高速になります
外部管理インターフェースは少し停滞しているため、高度な強力な機能、つまりjQuery、新しい「デザインの王様」 、そして一般的なコミュニティがユーザビリティの向上に焦点を合わせている必要があります。
Django 1.2は主に、管理インターフェイスの将来の改善の基礎を築くことに焦点を当てており、最も注目すべき変更はDjango 1.3と将来のバージョンでのみ現れ始めています。 しかし、いくつかのことが本当にうまくいきました。
新機能
最初のjQuery管理機能の1つは、動的に新しい行を追加することでした。 この機能を表示するには、次のビデオをご覧ください。
開発された関数の多くはDjango 1.2に該当しませんでした。たとえば、ドラッグアンドドロップによってorder-fieldでモデルのインラインの順序を変更したり、ドロップダウンメニュー(またはraw_id_fields)の代わりに外部キーおよびM2Mリンクの自動入力ウィジェットを使用したりしました。 ほとんどの場合、これらの機能やその他の機能はDjango 1.3に登場します。
Djangoの管理ユーザーにとっては素晴らしい時間です。 多くのシックな機能はバージョン1.2ですでに利用可能であり、リリース1.3の時点でこれらの機能はさらに大きくなります。 主にjQueryに感謝します!
DjangoAdventからの以前の翻訳: