2012-02-06 2 views
1

웹 디자인 앱 (axure)에서 디자인 한 내 django 앱용 템플릿이 있습니다. 그래서 이러한 템플릿 파일의 모든 정적 파일 참조는 django - 템플릿의 정적 파일을 참조하십시오.

<img src="/resources/image/icon.gif"/> 

같은

내가 정적 파일을 포함하고 STATIC_URL 고정 후 앱에 대한 설정을 수정하려면 여기를 https://docs.djangoproject.com/en/dev/howto/static-files/을 지시에 따라, 상대적입니다. 그러나 그런 식으로 모든 정적 파일 참조 앞에이 토큰을 넣어 주어야합니다 ( {{ STATIC_URL }}).

django가 정적 파일에 대한 이러한 상대 경로를 허용하도록하는 일반적인 방법이 있습니까?

감사합니다.

답변

4

"상대적"경로가 아닙니다. 그것은 "상대적 절대적"이라고 불리는 것입니다. 앞에 /을 붙입니다. 브라우저가 도메인에서 직접 다음 경로를 참조하도록 지시합니다. 이것은 장고와 아무 관련이 없습니다. 그것은 브라우저와 관련이 있으며, 그들은 모두 그런 식으로 작동합니다.

{{ STATIC_URL }}에는 특별한 것이 없습니다. 정적 파일에 대한 참조 앞에 올바른 경로를 붙이는 것이 쉽고 안전한 방법입니다. 실제로 HTML의 전체 URL을 하드 코드 할 수 있습니다.

<img src="/path/to/static/resources/image/icon.gif"/> 

그러나 STATIC_URL이 변경된 경우 운이 좋지 않을 수 있습니다. 따라서 {{ STATIC_URL }}을 사용하므로 "/ static /"또는 "http://cdn.someprovider.com/myproject/something-else/static/"로 설정되어 있는지 여부에 관계없이 참조가 항상 작동합니다.

길고 짧다. "일반적인 방법"이 없다. 브라우저에 파일을 찾을 수있는 정확한 위치를 알려 주어야하며 그 파일은 {{ STATIC_URL }}을 사용해야합니다.

0

nginx와 같은 백엔드를 사용하는 경우/static/resource/image /를 가리 키도록 /staticimage를 설정 한 다음/staticimage를 사용할 수 있습니다.

사용중인 웹 서버에 이러한 경로 매핑을 지정할 수 있습니다.

관련 문제