1

Google Compute Engine에서 내 장고 앱을 호스팅하고 있습니다. Google Cloud Storage에서 앱의 정적 요소를 렌더링하고 싶습니다. 나는 구글 클라우드 스토리지 버킷 내부의 모든 정적 요소가 www.example.com/staticDjango Google Cloud 스토리지에서 정적 이미지 렌더링을위한 설정

내 Settings.py :

# Static files (CSS, JavaScript, Images) 
STATIC_URL = '/static/' 
STATIC_ROOT = os.path.join(BASE_DIR, '../example_static') 

MEDIA_URL = '/media/' 
MEDIA_ROOT = os.path.join(BASE_DIR, '../example_media') 
STATICFILES_DIRS = (os.path.join(BASE_DIR, 'static'), MEDIA_ROOT,) 

000-default.conf 파일 :

<VirtualHost *:80> 
    ..... 
    DocumentRoot /var/www/html 

    Alias /static /opt/projects/example-google/example_static 
    .... 
</VirtualHost> 

현재와 설정에서 경로 :/opt/projects/example-google/example_static에서 정적 파일을 선택합니다.

누군가 Google Cloud Storage 버킷 www.example.com/static에서 모든 정적 이미지를 렌더링하는 데 필요한 설정 변경을 설명해 주실 수 있습니까?

감사합니다,

+0

하나를 제발 제발? – Naveen

답변

0

그것에 대해 좀 알고 있기 때문에이 장고 기반의 대답이 아닌 상태에서 서비스를 제공하는 동안 GCS에서 정적 콘텐츠에 대한 URL 맵을 제공하기 위해 Google Cloud Load Balancer support for Google Cloud Storage 다른 경로의 알파 버전을 찾을 수 있습니다 나머지 GCE 데이터.

1

당신은 어떤 문서 here을 찾을 수 있습니다

내가 자동으로 앱 settings.py의 변화 다음에 수행하여 dev에와 자극 환경 사이를 전환되어 유용하다고 한가지 더 :

if os.getenv('SERVER_SOFTWARE', '').startswith('Google App Engine'): 
    STATIC_URL = 'https://storage.googleapis.com/<your-bucket>/static/' 
else: 
    STATIC_URL = '/static/' 
+0

Google Compute Engine에 대해 조금 더 자세히 설명해 주시겠습니까? 나는 'python -c'import os를 실행하려고 시도했다. print (os.getenv ('SERVER_SOFTWARE', ''))) 'name'SERVER_SOFTWARE '이 (가) Google Compute Engine VM 인스턴스의 오류로 정의되지 않았습니다. – Naveen

+0

로컬 개발 서버 [link] (https://cloud.google.com/appengine/docs/python/tools/using-local-server)를 실행하면 'SERVER_SOFTWARE'환경 변수를 패키지에 추가해야합니다. 소프트웨어 버전보다 로컬에서 실행될 때 "dev"가있는 항목이되지만 GAE에서 실행되는 경우 'Google App Engine'이됩니다. – Yarh