Django 23

[Django Map] Folium polygon

hex point 와 Cost를 Key 와 Value로 가지고 있는 딕셔너리를 이용하여 Folium map 에 polygon 과 그 안에 툴팁(팝업 ?, 설명?) 을 추가 하려 한다. 방법은 folium.polygon 플러그인을 사용한다. 1. 딕셔너리를 리스트로 예를 들어 딕셔너리는 {Hex(q=1,r=-4) : 1} -> type : hex, cost 를 가진다. hex 좌표의 각 모서리 (정육각형의 모서리)를 Point 좌표로 변환하고, 리스트에 담느다. Folium Polygon 플러그인을 이용할 때 좌표의 모음을 리스트 형시으로 알려주어야한다. 리스트 안에 좌표는(위도lat, 경도lon) 순서로 보내야한다. for hex, cost in Hexlist.items() : hexPointlist =..

[Django] 외부 자바스크립트 jquery ajax 통신 csrf token 설정하기

외부 js 파일에서 ajax 통신으로 장고랑 연결하다가. Forbidden (CSRF token missing or incorrect.): 에러를 받았다. html 안에서처럼 post 방식으로 보낼때, {{ csrf_token }} 으로 했는데 이 방법이 잘못된 것 같다. 장고 공식문서에서는 2가지 방법을 제안한다. 1. csrf 검사를 프리패스 시킬것 (보안상 권장하지 않는 방법이라고 한다. 이 글에서는 기록하지 않겠다. 찾으면 많이 나와용) 2. js 파일에서 csrf token 값을 생성 (코드가 공식문서에 나와있다.) 아래 참고한 블로그에서는 html 파일에서 csrf token 값을 변수에 할당하고 그 값을 외부 js 파일에 불러와서 csrfmiddlewaretoken 값으로 보내주었다. 문서에..

Django/응용 2021.08.30

[Django] "python requsets" HTTP 모듈

카카오 주소검색 api를 사용하다가, requests 라는 모듈을 사용하길래 이게 무엇인지 궁금해서 공부해 보았다. 해당 코드 def getLatLng(addr): url = 'https://dapi.kakao.com/v2/local/search/address.json?query='+addr headers = {"Authorization": "KakaoAK kakao_http_key"} result = json.loads(str(requests.get(url,headers=headers).text)) match_first = result['documents'][0]['address'] return float(match_first['y']),float(match_first['x']) Python Reque..

[Django Map] folium plugins 패키지 옵션 사용하기

Folium plugins 사용하기 1. folium 을 install 해주었다면 folium 안에있는 plugins을 import 해줍니다. from folium import plugins Locate control (사용자 현재 위치로 반환) 버튼을 클릭하면 현재위치로 지도를 매빕하은 컨트롤 버튼을 추가합니다. https://github.com/python-visualization/folium/blob/master/examples/Plugins.ipynb GitHub - python-visualization/folium: Python Data. Leaflet.js Maps. Python Data. Leaflet.js Maps. . Contribute to python-visualization/foli..

Django 지도 라이브러리 Folium Map 이용하기

https://thalals.tistory.com/103?category=499919 Django Leaflet.js 지도 라이브러리 불러오기 1. Leaflet.js 라이브러리 호출하기 먼저 head 부분에 leaflat.js css와 js 링크를 추가해, leaflet 라이브러리 사용할 수 있도록 합니다. 2. Map 설정 1) 크기 설정 div의 크기를 설정해준다. 2) map 생성하고 타.. thalals.tistory.com 이전 게시물에서 Leaflet 라이브러리를 이용해서 지도를 불러왔는데, Django는 Python 기반이므로 데이터를 조작하기 더 편한 Folium 오픈소스 라이브러리를 사용하기로 했다. 1. Folium 설치 folium을 이용하기 위해서 먼저 install 해준다 pip..

[Django] Python 지도라이브러리 Folium 과 leaflet 차이점(Folium VS Leaflet.js)

저번 게시물에서 leaflet 지도 라이브러리의 사용방법으로 간단하게 호출을 해보았는데, 또 다른 지도 라이브러리로 Folium 이라는 오픈소스가 있어서 Leaflet과의 차이점을 알아보았다. 1. Leaflet 리플렛은 공식문서의 소개 그대로 an open-source JavaScript library for mobile-friendly interactive maps 즉, 자바스크립트 라이브러리이다. 말 그대로 Javascript를 이용하여 가볍게 지도 객체를 호출하여 맵핑할 수 있는 웹 지도화 라이브러리이다. 그럼 Folium은 무엇일까? 2. Folium folium 공식문서를 보면 " Make beautiful maps with Leaflet.js & Python " 라고 나와있다. 한마디로, l..

Django Leaflet.js 지도 라이브러리 불러오기

1. Leaflet.js 라이브러리 호출하기 먼저 head 부분에 leaflat.js css와 js 링크를 추가해, leaflet 라이브러리 사용할 수 있도록 합니다. 2. Map 설정 1) 크기 설정 div의 크기를 설정해준다. 2) map 생성하고 타일레이어에 추가하기 leaflet map의 타일레이어 형식은 일반적으로 URL템플릿의 세팅을 포함하고 있다. 이 URL템플릿 세팅이란 우리도 'Mapbox'에서 얻을 수 있다. 이 글에서는 예제에서 사용된 URL템플릿을 그대로 적용하기로하자. 이 URL템플릿에는 속성값이 부여된 텍스트, 최대 줌 레벨 등과 같은 옵션들이 포함되어 있다. ● 참고 d3.js 튜토리얼 티스토리 : https://visualize.tistory.com/360 Leaflet.js..

Django Templates 폴더 App 폴더 바깥쪽으로 빼서 한번에 관리하기

Django는 MTV 모델로 Model Teplate View 3가지로 나누어서 진행하는데, 각각의 앱 폴더안에서 관리하는 templates 폴더를 바깥쪽, 앱과 프로젝트와 같은 라인에서관리하기로 했다. 먼저 해야할 건 1. Templates 폴더 만들기 App과 같은라인에 Templates 폴더를 만든다. 2. 그 후, Settings.py에서 TEMPLATE Default 경로를 수정해준다. 'DIRS' : [] -> 수정 'DIRS': [os.path.join(BASE_DIR, "templates")], # 폴더 바깥으로 templates 통합 3. 그 다음 App 안에 Views.py에서 연결하려는 html파일 경로를 잘 적으면 된다.

1. Django 프로젝트 생성

장고 프로젝트 진행 순서는 아래의 순서를 참고 진행하려 한다. (파이참 x -> VScode) https://thalals.tistory.com/40?category=479867 [Django] 장고 입문 1. 가상환경 설정( 장고 시작 ) 1. 장고 실행 - 장고는 VsCode로 실행 합니다. - 장고를 실행 할 폴더에 git bash창을 킵니다. - CLI 창에 "code . "을 입력하면 간단하게 VsCode를 실행할 수 있습니다. ​ ​ 2. 가상환경 설정 - 장고를 실행 thalals.tistory.com 1) 가상환경 설치 python -m venv myvenv 2) 가상환경 활성화 source myvenv/Scripts/activate 3) 장고 다운로드 pip install django h..

[Django 게시판] 3. 카카오 지도 맵 api 생성하기(Kakao map api)

이번에는 카카오 지도 Api Map을 사용하여 웹 화면에 지도 위치를 띄어보겠다. ​ 1. 카카오 개발자 사이트 접속 후 키 받기 - 카카오맵(kakao 지도) javascript API를 사용하기 위해서는 키를 발급 받아야 합니다. ​ 1) 아래 사이트에 접속 후 카카오 계정 로그인 ​ 2) 개발자 등록 및 앱 생성 ​ 3) 웹 플랫폼 추가 : 앱 서낵 - [설정] - [일반] - [플랫폼 추가] - 웹 선택 후 추가 ​ 4) 사이트 도메인 등록 : 내가 이용할 웹 도메인을 입력해야 합니다. ex) http://localhost:8000 Kakao Developers 카카오 API를 활용하여 다양한 어플리케이션을 개발해보세요. 카카오 로그인, 메시지 보내기, 친구 API, 인공지능 API 등을 제공합니..

Django/응용 2021.06.14