2011-09-01 4 views
11

기존의 데이터베이스 지원 Django 사이트가 있다고합시다. 모든 마이너 리그 야구 팀의 기록을 포함하는 단일 모델처럼 간단합니다. 모델은 모든 팀을 나열하는 하나의보기와 슬러그를 허용하는보기로 액세스 한 다음 해당 팀에 대한 세부 정보 페이지를 작성합니다.Django 사이트를 정적 파일로 구우려면 좋은 옵션이 있습니까?

아마존의 S3와 같은 정적 파일 서비스에서 제공 할 수 있도록 앱을 구운 플랫 파일 스택으로 변환하는 좋은 방법이 있습니까?

나는 Hyde을 가지고 놀았지만 데이터베이스가 지원하는 기존 사이트에 어떻게 적용되는지 분명하지 않습니다.

모든 조언을 주시면 매우 감사하겠습니다. 미리 감사드립니다.

답변

0

정적 환경에서 호스팅 할 동적 사이트를 요청하는 것은 불가능합니다. 유일한 방법은 모든 파일을 내보내 정적 서버에 저장하는 것입니다. wget으로 처리하면 모든 파일이 복사되어 html로 변환됩니다.

이 문제의 한 가지 단점은 페이지에 대한 링크가있을 경우에만 html 파일을 만들 수 있다는 것입니다. 검색 양식 등 작업을하지 않습니다, 자바 기반의 작업을 기반으로하지 않을 수 있습니다.

+0

감사합니다. 나는 동적 인 v 정적 문제에 관해 당신의 이야기를 듣는다. 제 환상의 망상에는 데이터베이스를 순환하여 페이지를 하나씩 구워 낼 수있는 매끄러운 파이썬 패키지가 있습니다. 나는 아마 농담을하고있어 탄환을 물지 말고 그것을 깎아 내야 만한다. – palewire

+0

정적 인 환경에서는 어떤 응용 프로그램도 * 실행할 수 없습니다. 그러나 꽤 자주 정기적으로 업데이트하지 않는 한'wget'은 잘 처리 할 것이고, 업데이트하면 역동적 인 서버 (로컬 인 것 같습니다)로 파일을 업데이트해야합니다. –

1

나는 Django를 사용하지만 GAE에서는 비슷한 설정을 사용합니다. 내 정적 HTML 파일을 빌드하는 데 사용하는 빌드 스크립트를 만들었습니다. GAE의 Django 템플릿 버전은 약간 다르므로 약간의 테스트가 필요할 수 있습니다.

는하지만 기본적으로 당신은

from django.template import Template, Context 
from django.template.loader import get_template 

t = get_template('template1.html') #Need to verify this. GAE template allows me to just call template.render(path, context). Not sure about pure Django templates 
c = Context({ 'variable' : 'value'}) 
with open("file1.html", "w") as f: 
    f.write(t.render(c)) #This works for me, but if this doesn't in pure Django, try render_to_string 

HTH

+0

팁 주셔서 감사. 그리고 어떻게 전개합니까? 데이터베이스를 반복하고 모든 항목에 대해 위의 코드를 실행하는 코드를 작성한 다음 결과를 푸시합니까? – palewire

+0

예 내 빌드 스크립트는 기본적으로 일부 파일의 콘텐츠를 가져 와서 템플릿에 병합하고 정적 HTML을 만듭니다. 나는 자주 콘텐츠를 변경하지 않기 때문에 자동으로 푸시하도록 설정하지 않았지만 매우 쉽게 수행 할 수 있습니다. – arunkumar

+0

좋아요, 그런 종류의 "사용자 정의"빌드 스크립트는 내가 항상 끝내야 할 것이라고 생각했던 곳입니다 만, 다른 사람들의 POV에는 위대합니다. 그리고 언제나 인터넷에 물어 보면 일부 사악한 파이썬 마스터가 자동 응답 솔루션을 기다리고 있다고 생각하는 부분이 있습니다. – palewire

2

나는 당신의 의도를 이해하고 그런 짓을하지만, 어떤 점잖은 프레임 워크 요즘은 동적 콘텐츠의 고통을 완화 caching mecanism의 일종을 제공합니다. 제대로 구현 된 캐시를 사용하면 정적과 동적의 차이가 거의 없습니다. 날 믿어.

해피 코딩, 친구.

+2

감사합니다. 데이터베이스 기반 응용 프로그램을 배포 할 때 캐싱은 깨달음의 Onefold Path라는 것에 전적으로 동의합니다. 내 사용 현재의 경우, 목, 실제로 하중보다 비용에 대해 생각하고있어. 플랫 파일을 제공하는 것이 비용이 저렴하며이를 활용하려고합니다. – palewire

0

기존의 장고 사이트를 정적 HTML 사이트로 변환하는 것에 익숙하지 않습니다. 새로운 장고/파이썬 PaaS 제공 업체를 살펴 보는 것도 가치가있을 것입니다. 이와 같은 사이트는 이러한 플랫폼 중 하나에서 쉽게 실행될 수 있어야하며 월간 비용이 매우 저렴해야합니다. 당신이 체크 아웃 할 수 있습니다

일부 업체는 다음과 같습니다

+0

팁 주셔서 감사합니다. 사실 정적 파일을 PaaS 사이트의 대안으로 생각하고 있습니다. 저는 주로 Google App Engine을 사용합니다.하지만 곧 전환 예정보다 훨씬 비싼 가격 책정 일정으로 비용을 줄이려고합니다. – palewire

2

새로운 하나가 존재하고 있지만 그냥 발표되었습니다에 의해 사용되어 그 저자는 꽤 오랫동안 :

django-medusa.

아직 사용해 보지 못했지만 확실히 좋아 보인다. 나는 될 것이다!

관련 문제