자바스크립트에 Django의 url 태그 사용 방법

Django 템플릿에서 항상 명확한 url이 아닌 경우에는 url tag를 사용해서 경로를 지정하는 것이 편리하고 안전하다.

어떠한 서버 설정이나 상황에서도 정확한 url을 표시할 수 있기 때문이다.

그런데 외부 자바스크립트를 사용하는 경우에는 Django의 태그를 처리한 후에 스크립트가 불려지므로, url tag를 쓸 수가 없다.

이를 해결하기 위해 자바스크립트에 변수를 할당하는 방법을 사용할 수 있다.

<script type="text/javascript">
    var my_page = {% url my_page %};
</script>
<script type="text/javascript" src="/js/test.js"></script>

위에서처럼 my_page라는 변수를 할당해두고, 외부 스크립트를 가져오면 된다.
그리고 아래와 같이 외부 스크립트에는 만일에 생길 수 있는 선언되지 않은 변수가 생기는 것을 막기 위해 변수 선언을 해주었다.

if (this.my_page === undefined)
    var my_page = "";

...

이렇게 하면 외부 스크립트에서도 url 태그의 원하는 페이지를 가져올 수 있다.

참고자료: http://www.quora.com/Can-I-use-Django-template-tags-in-JavaScript

댓글 없음:

댓글 쓰기