답변:
이것이 Google의 최고 결과이므로 다른 방법을 추가 할 것이라고 생각했습니다. 개인적으로 나는 이것을 장고 프레임 워크에 구현하기 때문에 이것을 선호합니다.
# Original answer said:
# from django.templatetags.static import static
# Improved answer (thanks @Kenial, see below)
from django.contrib.staticfiles.templatetags.staticfiles import static
url = static('x.jpg')
# url now contains '/static/x.jpg', assuming a static path of '/static/'
request.build_absolute_uri
여기에 설명 된대로 결과를 라우팅 할 수 있습니다 . stackoverflow.com/questions/2345708/…
from django.templatetags.static import static
대신 사용하십시오 .
당신이 (예 : "해시"취득한다 "스토리지 캐시의"장고 프로젝트와 정적 파일의 최종 URL 경로에 사용하는 경우 dyve의 대답은, 그러나, 좋은 하나입니다 style.aaddd9d8d8d7.css 에서 있는 style.css ) 그런 다음, 에 정확한 URL을 얻을 수 없습니다 django.templatetags.static.static()
. 대신 템플릿 태그를 사용 django.contrib.staticfiles
하여 해시 된 URL을 가져와야합니다.
또한 개발 서버를 사용하는 경우이 템플릿 태그 메소드는 해시되지 않은 URL을 반환하므로 개발 또는 프로덕션 호스트에 관계없이이 코드를 사용할 수 있습니다! :)
from django.contrib.staticfiles.templatetags.staticfiles import static
# 'css/style.css' file should exist in static path. otherwise, error will occur
url = static('css/style.css')
@dyve의 답변이 개발 서버에서 작동하지 않았습니다. 대신 나는 그것을 해결했다 find
. 기능은 다음과 같습니다.
from django.conf import settings
from django.contrib.staticfiles.finders import find
from django.templatetags.static import static
def get_static(path):
if settings.DEBUG:
return find(path)
else:
return static(path)