あなたができることは、ビューを通してDjangoを基本テンプレートとして提供することです。
この基本テンプレートには、角型の主要アプリが含まれているはずです。また、この基本テンプレートは、あなたのジャンゴに常駐することに留意してくださいなどのライブラリや、あなたのコントローラー/サービス/ディレクティブ
<!DOCTYPE html>
<html lang="en" ng-app="angularApp">
{% block head %}
<head>
{% block angular_requirements %}
<script type="text/javascript" src="{{ STATIC_URL }}node_modules/angular/angular.js"></script>
<script type="text/javascript" src="{{ STATIC_URL }}node_modules/angular-ui-router/release/angular-ui-router.js"></script>
<script type="text/javascript" src="{{ STATIC_URL }}node_modules/checklist-model/checklist-model.js"></script>
<script type="text/javascript" src="{{ STATIC_URL }}angular_apps/dashboard/app.js"></script>
<script type="text/javascript" src="{{ STATIC_URL }}angular_apps/controllers/dealController.js"></script>
<script type="text/javascript" src="{{ STATIC_URL }}angular_apps/controllers/catController.js"></script>
<script type="text/javascript" src="{{ STATIC_URL }}angular_apps/dashboard/controllers.js"></script>
<script type="text/javascript" src="{{ STATIC_URL }}angular_apps/dashboard/services.js"></script>
<script type="text/javascript" src="{{ STATIC_URL }}angular_apps/dashboard/utils.js"></script>
<script type="text/javascript" src="{{ STATIC_URL }}angular_apps/dashboard/filters.js"></script>
{% endblock angular_requirements %}
</head>
{% endblock head %}
<body>
</body>
</html>
など、すべての角度依存性が含まれますと、フォルダとすべてのテンプレートアングルファイルは静的フォルダに置かれます。
ここで、基本テンプレートはDjangoビューで提供され、静的ファイルはnGinx経由で提供されます。
あなたはnginxのconfの中で静的なルールを追加する必要があります:
location /static/ {
alias <path-to-collect-static-folder>;
}
だからあなたのフォルダ構造は、このような何か見ることができます:ここで
Django-app/
app/
templates/
base.html
static/
node_modules/ # will contain all libraries
angular_app/
app.js
controllers.js
は、Djangoのバックエンドを持つプロジェクトであります角度フロントエンド: https://github.com/aliasav/coder-submissions
私は何百ものコントローラ、サービス、および指令を持っていますが、より良い方法がありますか? – ThatBird
あなたがそのコントローラをたくさん持っている場合は、ページごとに異なるアプリを持つことができます。しかし、これはかなり長い間使用してきた適度なサイズのSPAのためのテスト済みのアーキテクチャです。だから、ページの読み込み時間は少し高いかもしれませんが、それを減らす方法もあります。 – aliasav
それらをすべてハードコードする必要はありませんか? – ThatBird