角型アプリケーションをバンドルし、Django Rest Framework DRFアプリケーションで静的コンテンツとしてデプロイしようとしています。Django Restフレームワーク埋め込み角型アプリケーション用のルーティング
私はしかし、私はこのような何かを表現するために、ルーティングの制御をしたいすべてでDjangoのかDRFを知らない:
/管理/ *の場合 - 組み込みのDjangoの管理者に委任します。
/API/*について - Djangoの残りのフレームワーク
に委任するために/だけ、および/ * - "いくつかの指定されたプロジェクトフォルダ" からロードなどの静的コンテンツを扱うので、 /マップは./static/ファイルにindex.html /assets/pic.jpgは./static/assets/pic.jpgにマップします
私は上記を達成できませんでした。私が持っているのは
です。./templates/index.htmlにあるindex.htmlのテンプレートビュー - これはAngularプロジェクトのものであり、Djangoテンプレートではありません。手動でコピー
その他のWebPACKバンドルされたコンテンツは、ベンダーなど./staticする|。ハッシュは|もう一つの問題は、資産をどうするかである
.bundle.js。
ng build --deploy-url=/static --output-path=../backend/tutorial/static
[展開を:私は、このコマンドラインを使用してパスをある程度制御を得ている
index.htmlのような角度のプロジェクトでは、HTMLビューには、同じレベルにある/資産を経由して資産を参照してください。 url argはindex.htmlのバンドルされたアセットの参照先に/ staticというプレフィックスを付けます。これは、Djangoがそれらを提供できることを意味します(ただし何らかの理由でfavicon.icoはありません)。
出力パスargは、すべてのアセットをデフォルトの "dist"フォルダ以外の場所にダンプします。
urlpatterns = [
url(r'^admin/', include(admin.site.urls)),
url(r'^api/', include(router.urls)),
url(r'^api-auth/', include('rest_framework.urls', namespace='rest_framework')),
url(r'^', TemplateView.as_view(template_name="index.html")),
]
URLパターンは上記のようになります。
STATICFILES_DIRS = [
os.path.join(BASE_DIR, "static")
]
STATIC_URL = '/static/'
これらは静的な設定です。私が必要とするのは、 "/静的"と "/ assets"がともに静的資産フォルダであると言うことです。
TemplateViewが(urlPatterns)であるかわかりません。たぶんStaticFilesViewなんか、URLをディスク上のパスにマッピングするものがあるのでしょうか?