2017-10-16 5 views
0

私はDjangoを使って提供したいhtml js、cssと画像のような他のファイル間にすでに書かれたリンクを持つ角2のフロントエンドを持っています。角度2から"/静的"プレフィックスなしでDjangoでファイルを提供する方法

構造は次のようになります。

-->index.html 
-->test.js 
-->test.css 

HTMLファイル:私は、角2アプリから与えられたパスを変更したくない

<!doctype html> 
<html lang="en"> 
    <head> 
     <link href="test.css" rel="stylesheet"/> 
    </head> 
<body> 
      <script type="text/javascript" src="test.js"> 
</body> 

を、代わりに、 "/ static/< appname> /"または "/ static /"接頭辞またはすべてのリンクのテンプレートタグを使用せずに、このファイルをdjangoで提供する回避策を知りたいと思います。

更新

<!doctype html> 
<html lang="en"> 
    <head> 
     <link href="/static/test.css" rel="stylesheet"/> 
    </head> 
<body> 
      <script type="text/javascript" src="/static/test.js"> 
</body> 

と、この回避避けるためにしよう:適応せずに角度ファイルを提供するためのDjango組み込みWebサーバを適応しようとしている、言い換えれば

{% load static %} <link href="{% static "example.jpg" %}" rel="stylesheet"/> 

を(静的な接頭辞またはタグ)をdjangoに追加します。

ありがとうございます!

+1

静的ファイルを提供する正しい方法は、 '{%load static%} 'のようにハードコードされていません。 '/ static'を避けるためにavoutと話すとどういう意味ですか? – danihp

+0

@danihpコメントありがとうございます。私は例を使って質問を更新しました。 – Hangon

答えて

1

あなたはDjangoから "あなたのファイルを提供したい"と言いますが、本当にNginxのようなものからそれらを提供したいと思います。たとえば、

location = /js/test.js { 
    root /path/to/js/; 
} 

をnginxファイルに入力します。 Angular2 URLの目的のために、あなたはDjangoが存在しないふりをすることができます。

+0

ありがとうございます。私もそれについて考えました。しかし、もし私がジャンゴの組み込みのウ​​ェブサーバーで角度のあるアプリを提供することができればいいと思う。接頭辞や静的なタグ付けを避けるために、djangoを微調整する方法を知っていますか? – Hangon

+1

ビューを作成し、https://docs.djangoproject.com/en/1.11/ref/request-response/#django.http.HttpResponseを使用してファイルを読み取り、生のHTTP出力をブラウザに送信することができます。しかし、私はそれをお勧めしません。 –

+1

@Hangon組み込みのwebserverはテストや開発には問題ありませんが、ライブデプロイメントの長期的な解決策としては推奨されません。それがあなたのプロジェクトにとって問題かどうかは、あなた次第です。 – nthall

関連する問題