2014-02-11 2 views
1

나는 내 문제를 해결할 수있는 매우 간단한 방법이있을 것이라고 확신하지만 유용한 것을 생각하기에는 충분한 경험이 없습니다. 나는 내가 만들고있는 html5/js 게임을 추가 할 수있는 웹 사이트를 가지고 있습니다. 아주 간단한 사이트가 될 것입니다. 그 안에있는 모든 게임이 들어있는 디렉토리와 선택된 게임을 렌더링하는 템플릿 역할을하는 템플릿. 지금까지는 간단합니다.렌더링 사용자가 django 템플릿 안에 html5/js 게임 업로드

게임을 끝내면 웹 사이트에 업로드하고 싶습니다. 관리자 페이지로 게임의 zip 파일을 업로드하면됩니다. 우편 번호가 압축 해제되어 미디어 폴더에 저장됩니다. 뭔가 : "media/id_of_game/game_folder"

일반적인 게임은 HTML 페이지, 여러 개의 자바 스크립트 파일 및 몇 개의 이미지로 구성됩니다.

여기가 문제가됩니다. 어떻게 내 장고 템플릿 안에이 게임을 렌더링합니까? 시도했지만 게임 자체에 내재 된 상대 경로가 깨졌습니다. 다음과 같이

내 템플릿 URL은 다음과 같습니다 예를 mysite.com/demo/game-1/

그리고 이미지/자바 스크립트/.. 나는 내 게임에 필요한 예에

  • 있습니다

    • mysite.com/media/id_of_game/game_folder/main.js
    • mysite.com/media/id_of_game/game_folder/index.html
    • mysite.com/media/id_of_game/game_folder/templates/random_image.png
    • mysite.com/media/id_of_game/game_folder/js/awesome_game_library.js

    상대 경로

  • 완전히 파손된다.

    여기까지 읽은 모든 장고 마스터에게 감사드립니다! 바라기를 너는 나를 도울 수있을 것이다 :)

답변

0

나는 나의 문제에 해결책을 마지막으로 찾아 냈다.

나는 urls.py이 추가되었습니다 :

url(r'^demo/game/(?P<id>\d+)/(?P<path>.+)$', RedirectView.as_view(url='/media/demo/elements/%(id)s/%(path)s')), 

이것은 즉, 나는이 액세스 할 때 :

  • mysite.com/demo/game/1/my_awesome_picture.jpg

내가 얻을 :

  • mysite.com/media/demo/elements/1/my_awesome_picture.jpg

는이 같은 장고의 urls.py에 파일을 리디렉션 확인 아니면 내가 같은 일을 달성하기 위해의 nginx의 설정을 변경해야합니까?