2016-06-17 3 views
0

기존 프로젝트에서 장고 응용 프로그램을 시작했고 프로젝트의 패턴을 따라 물건을 정리하려고합니다. 다른 응용 프로그램에서 나는 예를 들어, 정적 파일은 응용 프로그램 자체에있는 것을 볼 수 : 파일 경로 : appname/static/js/file.js 자바 스크립트 템플릿 내부 : <script src="{% static 'js/file.js' %}"></script>Django - 응용 프로그램 폴더에 정적 파일 넣기

이 다른 앱에서 작동합니다. 나도 같은 일을하려고하지만 렌더링 된 파일 URL은 나에게 404 오류를 준다.

작동하려면 어떻게해야합니까? 설정 파일을 살펴 봤지만 거기에는 특별한 것이없고 URL에는 없습니다. 어떤 도움

+0

처럼 static()에 다음 추가 할 수 있습니다 설정 파일에서'DEBUG = True'를 설정했다면 페이지 디스플레이에 오류 메시지가 표시됩니까? –

+0

'js/file.js'을 (를) 찾을 수 없습니다. –

+0

글쎄,이 오류는 404 오류를 반환하지 않습니다. 다른 오류 메시지가없는 것이 틀림 없습니다. 404를 얻을 때 주어진 모든 세부 사항을 제공 할 수 있습니까? –

답변

3

경로 appname/static/에 대한

덕분에 장고가 설치된 모든 응용 프로그램에서 찾을 것이다 기본이다, 더 settings는 필요하지 않습니다. 새 앱이 실제로 settings.INSTALLED_APPS에 나열되어 있는지 확인하십시오.

개발 서버에 있기 때문에 정적 파일 URL이 누락되었을 수 있습니다. 이 urls.py의 끝 부분에 있는지 확인 : 어떤 appname/static/의 모든 파일에 대한 URL 경로 /static/을 추가

if settings.DEBUG: 
    from django.contrib.staticfiles.urls import staticfiles_urlpatterns 
    urlpatterns += staticfiles_urlpatterns() 

합니다. 당신이 더 많은 디렉토리가있는 경우 개발 서버를 사용하는 경우

또한,이 URL 경로에 매핑 할 그 (/ 정적/프로그램 응용되지 않음), 당신은을 무엇이

if settings.DEBUG: 
    from django.conf.urls.static import static 
    urlpatterns += static('/pics/', document_root=/var/www/pictures/) 
+0

고마워, 너는 내가 알 필요가있는 것보다 훨씬 더 대답했다! –