10

私はDjangoとAngularの両方にかなり慣れていません。これは主観的なものであり、多くの方法がある可能性が高いことは認識していますが、そのようなアプリケーションをレイアウトするために人々が推奨できるベスト プラクティスを知りたいと思っています。バックエンドがほとんどまたは完全に RESTful API サーバーであるリッチな SPA の場合を具体的に考えていますが、Django からの重要なビューを提供するすべてのアプリに共通のアプローチが必要です。(後者が Angular を使用することを保証するのか、それともその価値よりも問題になる可能性があるのか​​ を判断するのに十分なことはしていません)。

具体的には:

バックエンドとは別のディレクトリ/リポジトリにフロントエンドコードを維持することと、たとえばDjangoアプリの「静的」サブディレクトリ内に維持することの長所と短所は何ですか? 私の場合、今のところ私は唯一の開発者であり、この決定に多少の影響がありますが、ワークフローが一度にこれらの役割の 1 つに私を置きます。

私のセットアップは基本的に開発マシンであり、GitHub の SCM であり、WebFaction (共有 Web ホスティング) でパブリックにホストされています。最終的には、さまざまな開発マシンでプロジェクトを簡単に取得したいと考えていますが、主なワークフローは 1 つの開発者と 1 つの製品のインストールだけです。そうは言っても、将来の仕事が Django で働くことを願っているので、現実世界のプロジェクトでのベスト プラクティスに興味があります。

追加: 私がよくわからないもう 1 つの点は、Angular アプリを Django でブートストラップする必要があるかどうかです。つまり、フロント ページを Django で提供し、データを挿入する必要がありますか?

長所:

  • 代替構成やフロントエンドでハードコーディングすることなく、URL パスや、開発から運用に変更される API エンドポイントを構成できます。
  • これはおそらく認証に必要ですか?まだこれを行っていない私には不明です...
  • Django デバッグ ツールバー アプリなどのツールの使用を許可します。

短所:

  • フロントエンドをバックエンドに結合します。後者を交換したい場合はどうすればよいですか? モック データを使用してサンドボックスでフロントエンドを動作させたい場合はどうすればよいですか?
  • すべてのAngular のものを Django アプリのレイアウトに移動することを強く支持しているようです。同時に、Angular パーシャルと Django テンプレートを別の場所に混在させるのは好きではありません。NG と DJ のテンプレートを混在させないことを既に決めています。
4

1 に答える 1

4

また、AngularJS FE の BE として Django のソロ開発者としても活動を開始しました。AngularJS ファイルを static フォルダーに配置しましたが、すべて問題ありません。

1 つのプロジェクトで FE と BE が混同されていることは確かに短所ですが、あなたは単独の開発者なので、問題にはならないと思います。追加の開発者を雇う (FE と BE の作業を分割する) ことを一度決めたとしても、そのうちの 1 人が完全に独立して作業するため、作業に競合は発生しません。

私にとっての長所の 1 つは、間違いなく Django を介してログイン プロセス全体を実行し (テンプレート化も)、ログインが正常に完了したら、残りの FE (AngularJS 部分全体) を提供したことです。

Django REST には TastyPie を使用しました。これは、Django の優れた REST 拡張機能であり、セットアップも簡単です。

于 2014-02-18T13:27:22.977 に答える