새로운 Django 1.3 정적 파일 프레임 워크에 대한 일반적인 질문이 있습니다.URL 루트에있는 django staticfiles
나는 Django 1.3에서 소개 된 새로운 Django 정적 파일 기능을 정말 좋아합니다. 일반적으로 STATIC_URL = "/ static /"을 설정하고 템플릿에 {{STATIC_URL}} 템플릿 태그를 입력합니다. 개발 서버가 정적 파일을 자동으로 제공하고 모든 콘텐츠가 예상대로 제공되는 것이 좋습니다.
그러나 정적 미디어가 URL 루트에 마운트 된 기존 사이트에서 작업하고 있습니다. 예를 들어 정적 URL 경로는 다음과 유사 할 수 있습니다.
example.com/css/master.css
example.com/images/logo.png
example.com/js/site.js
"정적"URL 네임 스페이스를 사용하지 않습니다.
새 정적 파일 기능을 정적 네임 스페이스를 사용하지 않고 위의 URL을 제공하는 방법이 있는지 궁금하지만, 새로운 정적 파일 프레임 워크 (개발 서버에서 제공하는 정적 파일, 기타). 나는 STATIC_URL = ""및 STATIC_URL = "/"을 설정하려고 시도했지만 어느 것도 원하는 효과를 얻지 못했습니다.
네임 스페이스없이 정적 파일을 제공하도록 정적 파일을 구성하는 방법이 있습니까? 이해해 주셔서 감사합니다. 이것은 DEBUG dev에 서버의 미디어를 매핑합니다
from django.conf import settings
from django.conf.urls.static import static
urlpatterns = patterns('',
# ... the rest of your URLconf goes here ...
)
if settings.DEBUG:
urlpatterns += static('/css/', document_root='app_root/path/to/css/')
urlpatterns += static('/images/', document_root='app_root/path/to/images/')
urlpatterns += static('/js/', document_root='app_root/path/to/js/')
urls.py :
감사합니다. jdi. 템플릿에서 나는 여전히 {{고정}} 또는/css /,/images /,/js/....로 남겨 두었습니까? –
'python manage.py collectstatic'을 통해 수집 할 수 없으므로 더 이상 정적 응용 프로그램에 포함되지 않습니다. '/ css/foo.css'와 같은 일반 URL을 사용하면됩니다. 이들은 개별 위치에서 명시 적으로 제공됩니다. 그들은 심지어 장고 프로젝트 공간 밖에 존재할 수도 있습니다. – jdi
document_root가 '/'로 시작하지 않아야합니다. 예를 들어'urlpatterns + = static ('/ css /', document_root = 'app_root/path/to/css /')와 같이 django 프로젝트의 루트 디렉토리를 지정해야합니다.)' –