문제상황

카카오 지도 API를 사용하여 웹에 지도를 그려주는 작업을 하고 있었다. git에 커밋할 때, API키가 노출되게 하지 않게 하기 위해서 시크릿 정보를 따로 분리해주고자 하였다. 우선, 시크릿 파일을 따로 만들어서 gitignore에 등록해줌으로써, 시크릿 키가 커밋에 올라기지 않도록 하였다. 그리고 이렇게 만들어진 secret 파일을 view 함수에서 import하여 html에 넘겨준 뒤, src에 해당 변수를 집어넣고자 하였다.

## secret.py ##
MAP_API_KEY = '시크릿키'
## views.py ##
from secret import *
from django.shortcuts import render

def main(request):
    context = {
        'key' : MAP_API_KEY
    }
    return render(request, 'index.html', context)

python에서 하던대로 문자열을 붙여보려고 하였으나, 제대로 문자열이 붙지 않았다. 구글링해도 잘 안나와서 이것저것 해보다가 매우매우 간단하게 해결하였다.

<script src="//dapi.kakao.com/v2/maps/sdk.js?appkey=" + key></script>



해결

다음과 같이 해결할 수 있다. 템플릿 언어가 큰 따옴표 안에서는 동작하지 않을줄 알아서 생각하지 못했는데 큰 따옴표 안에서도 잘 작동한다.

image

href에서도 동일한 방법으로 해결할 수 있다.

image

댓글남기기