정적 파일을 PROJECT_DIR/static 디렉토리에 둘 수도 있습니다. app 디렉토리에 정적 파일의 중복이없고 collectstatic 명령을 수행 할 필요가 없습니까? 로컬 컴퓨터에서 Django dev 서버는 프로덕션 환경에서 사용됩니다 - 다른 웹 서버. 지금까지 읽은 것부터는 불가능하다는 결론을 내 렸지만 어쩌면 사실이 아닐 수도 있습니다.개발 및 프로덕션에서 정적 파일을 제공하는 동일하고 간단한 방법 - 가능합니까?
1
A
답변
2
물론 가능합니다. 정적 파일 앱이 유용 할 것입니다. 당신이 "중복"을 원하지 않는다면 (전체 포인트 - 당신은 하나의 영역으로 합쳐진 어플리케이션 당 파일을 가질 수 있습니다), staticfiles 어플리케이션을 사용하지 마십시오.
어디서나 폴더를 자산 폴더로 사용하십시오. 프로덕션에서는 몇 가지 URL (예 : MY_URL
)로 제공하십시오. 개발에서 staticfiles는 선 (善)을 가져 전에, MY_URL
https://docs.djangoproject.com/en/1.5/howto/static-files/#serving-files-uploaded-by-a-user
from django.conf import settings
from django.conf.urls.static import static
urlpatterns = patterns('',
# ... the rest of your URLconf goes here ...
) + static('MY_URL', document_root='path-to-my-files')
이이 일의 오래된 학교 방법에 자산 폴더에 파일을 제공하기 위해 URLConf를 연결할.
staticfiles 앱을 사용하여이 문제를 해결할 수 없습니까? 배포 스크립트에서 python manage.py collectstatic --noinput
에 추가하는 작업은 많지 않습니다.
url 패턴에 "static (settings.STATIC_URL, document_root = settings.STATIC_ROOT)"을 (를) 추가했지만 CSS가로드되지 않습니다. app 하위 디렉토리에서로드가 잘됩니다. 그 밖의 무엇이 놓칠 수 있습니까? – DSblizzard
귀하의 목표는 정적 파일을 사용하지 않는 것입니다.하지만 settings.STATIC_ROOT 파일은 settings.STATIC_URL에서 사용할 수 있습니다. 어쨌든 자동입니다. 개발중인 기본 runserver가 정확히 수행합니다. –
INSTALLED_APPS에서 'django.contrib.staticfiles'를 (를) 주석 처리하는 것을 깜박했습니다. – DSblizzard