2017-11-02 2 views
0

저는 Django 라이브 버전을 생산 중이며 Django manager.py로 현지에서 개발하고 있습니다. 정적 파일에 대한 올바른 구성 설정을 찾을 수 없습니다.Django 정적 파일 :/static/디렉토리 만 사용하십시오.

내 정적 파일은 모두 프로젝트의 루트에/정적 /에 있습니다. 왜냐하면 모든 하위 응용 프로그램이 동일한 스타일 시트를 사용하기 때문입니다.

STATICFILES_DIRS = (
    os.path.join(BASE_DIR, 'staticfiles'), 
) 

STATIC_ROOT = os.path.join(BASE_DIR, 'static') 
STATIC_URL = '/static/' 

라이브 버전 : 정적/직접 액세스를 허용하는 NGINX 규칙이 있기 때문에 작동합니다.

하지만 로컬에서 작업 할 때 정적 파일은 디버그가 True이고 False 인 404입니다.

staticfiles 디렉토리가 필요하지 않은 것에 관심이 없습니다 (하지만 여기에 잘못된 생각이 들릴 수 있습니다).

/static/(css, img, js 등)의 하위 디렉토리에 모든 정적 파일을 포함하고 배포를 위해 settings.py에서 전환하지 않고도 로컬 및 라이브 프로덕션 모두에서 실행 가능한 설정을 설정할 수 있습니까? ? 나는 해결책을 발견했습니다

+0

당신이 무엇을 요구하고 있는지 잘 모릅니다. 일반적으로 여러분은 원하는대로 정적으로 놓을 수 있습니다. manage.py와 devserver가 액세스 할 수 있도록 설정 한 다음 collectstatic을 실행하여 프론트 엔드가 제공하는 어딘가에 복사합니다. –

+0

"collectstatic"및 내 모든 파일은/정적/디렉토리에 있지만 로컬에서는 접근 할 수 없습니다 :/ – Zoloom

+0

내가 잘못하지 않으면 장고는'STATIC_URL'과'STATIC_ROOT' 이름이 같지 않게합니다. 즉 "정적"이라는 폴더에 정적 파일을 넣을 수없고 "정적"으로 설정 한 url도 가질 수 없음을 의미합니다. 그래서 난 당신이 URL이나 정적 폴더가 작동해야한다고 변경하면 생각합니다. 생산 nginx에서 이것을 처리하고 장고에 도착하지 않을 것이다 그래서 나는 그것이 거기에서 작동하는 이유라고 생각한다. 그것을 밖으로 시도하고 알려주세요. – Navid2zp

답변

0

당신의 도움 :)에 대한

감사 : 장고 내 주요 응용 프로그램의 폴더의 루트 디렉토리에서 내 정적 디렉토리를 이동 한 후

는, 그 설정으로 collectstatic했다 :

STATIC_ROOT = os.path.join(BASE_DIR, 'static') 
STATIC_URL = '/static/' 
관련 문제