2017-10-16 5 views
0

저는 장고를 사용하고자하는 html js, css와 이미지와 같은 다른 파일 사이에 이미 작성된 링크가있는 2 각형 프론트 엔드를 가지고 있습니다. 각도 2에서"/ 정적"접두사없이 장고에서 파일을 제공하는 방법

구조는 다음과 같습니다 :

-->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> 

을, 대신 나는 "/ 정적/< appname> /"또는 "/ 정적 /"접두사 또는 모든 링크의 템플릿 태그를 사용하지 않고 django 에서이 파일을 제공하는 해결 방법을 알고 싶습니다. 적응없이 각 파일을 제공하기 위해 장고를 내장 웹 서버를 적응하기 위해 노력, 즉

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

:

업데이트

것은

<!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에.

미리 감사드립니다.

+1

정적 파일을 제공하는 올바른 방법은 다음과 같습니다 :'{% load static %} '. '/ static' 예제를 피하기 위해 당신이 이야기 할 때 당신은 무엇을 의미합니까? – danihp

+0

@danihp 의견을 주셔서 감사합니다. 방금 예제를 사용하여 질문을 업데이트했습니다. – Hangon

답변

1

당신은 장고에서 "당신의 파일을 서비스하고 싶다"라고 말하지만, Nginx와 같은 것들로부터 정말로 당신이 그들을 섬기기를 원한다고 생각합니다. 예 :

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

을 nginx 파일에 입력하십시오. Angular2 URL의 목적을 위해 Django가 존재하지 않는 것처럼 할 수 있습니다.

+0

감사합니다. 나는 그것에 대해서도 생각했다. 그러나 장고 내장 웹 서버로 각진 응용 프로그램을 제공 할 수 있다면 좋을 것입니다. 정적 인 접두어 또는 태그를 사용하지 않으려면 장고를 조정하는 방법을 알고 있습니까? – Hangon

+1

보기를 만든 다음 https://docs.djangoproject.com/en/1.11/ref/request-response/#django.http.HttpResponse를 사용하여 파일을 읽고 원시 HTTP 출력을 브라우저로 보낼 수 있습니다. 그러나 나는 그것을 추천하지 않을 것이다. –

+1

@Hangon 웹 서버에 내장 된 Hangon은 테스트 및 개발에 적합하지만 라이브 배포를위한 장기적인 솔루션으로 권장되지 않습니다. 그것이 프로젝트에 문제가되는지 없는지를 결정하는 것은 당신에게 달려 있습니다. – nthall