저는 학교 (아주 작은 사용자 100 명 미만)를위한 아주 작은 규모의 웹 사이트에서 일하고 있으며 장고 서버에 정적 파일을 저장하는 방법이 있는지 궁금합니다. 정적 파일을 관리하기 위해 두 번째 서버를 배포하는 방법에 대해 설명합니다. Google 검색 결과는 다음과 같습니다 : https://docs.djangoproject.com/en/dev/howto/static-files/,하지만 Django 서버에서 매우 효율적이지는 않지만 더 간단한 방법이 있는지 궁금합니다.Django : 매우 작은 규모의 웹 사이트에 정적 컨텐츠
답변
예 동일한 서버를 사용하여 정적 파일을 제공하는 것은 가능합니다. 상무부 그러나, 당신은 일부 URL을 제공하기 위해 아파치를 설정할 수 있습니다, 장고와 같은 아파치 가상 호스트에 미디어 파일을 제공 수밖에 없다이 사용하는 아파치/mod_wsgi에 https://docs.djangoproject.com/en/1.4/howto/deployment/wsgi/modwsgi/#serving-files
만약을 수행하는 예를 제공 정적 미디어 및 다른 사람들이 장고에 mod_wsgi 인터페이스를 사용합니다.
그것은 워드 프로세서는 별도의 웹 서버를 사용하여 참조 할 때 반드시 (가상 또는 물리적) 다른 상자 정적 자원 봉사에 최적화 된 단지 별도의 서버를 의미하지 않는다는 것을 주목할 가치가있다. 즉, 하나의 장고를 실행하지 않는 것 - - 정적 파일을 봉사 https://docs.djangoproject.com/en/1.4/howto/static-files/#serving-static-files-from-a-dedicated-server
에서 가장 큰 장고 애플리케이션은 별도의 웹 서버를 사용합니다. 이 서버는 종종 다른 유형의 웹 서버를 실행합니다.
일반적인 설정은 작은 사이트에 대한 하나의 서버에서 수행 할 수있는 WSGI 서버로 아파치/mod_wsgi에, Gunicorn 또는 uWSGI 앞에 정적 자원의 Nginx를 실행하는 것입니다.
"Django 서버"는 python manage.py runserver
에 의해 실행되는 개발 서버를 말하며, 이에 대해 조언합니다.
Django 개발 서버를 프로덕션 환경에서 실행하고 정적 파일을 제공하는 것은 좋지 않습니다. 나는 staticfiles 응용 프로그램이 심지어 당신을 DEBUG = FALSE
경우 드릴 것입니다 생각하지 않습니다.
그러나 Django 응용 프로그램을 제공하는 동일한 웹 서버 (lighttpd, apache, nginx)를 통해 정적 컨텐츠를 제공하려는 경우 프로젝트 디렉토리에서 python manage.py collectstatic
을 실행하여 모든 정적 파일을 복사하면 쉽게 수행 할 수 있습니다 다른 정적 사이트와 마찬가지로 해당 디렉토리에서 서비스하도록 웹 서버를 구성합니다.
[Flask] (http://flask.pocoo.org/)와 같은 간단한 것을 사용하지 않는 이유는 무엇입니까? 정적 파일 만 제공한다면, 모든 장고 설정을 처리하는 대신, 방해가되는 마이크로 프레임 워크를 사용하는 것이 훨씬 쉽습니다. (파일을로드하는 데 장고 관리자가 필요하지 않는 한). –
@JeffTratner 정적 인 CSS 및 javascript 파일 일뿐입니다. –
은 분명히 의미가 있습니다. –