Django/응용 6

[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 게시판] 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

[Django 게시판] 2.CBV를 FBV로 (CRUD-Create)

Create (fbv) 앞에서 작성한 cbv기반 createview를 fbv로 바꿔보겠다. ​ 1. templates.html create.html을 다 지우기 아까우니까, 그냥 새로 만들어준다. ​ 1)create2.html - FBV 형식으로 객체를 생성할때에도, 파일이나 이미지를 올리기 위해서 enctype = "multipart/form-data"를 필수로 적어준다. ​ - cbv방식에서는 따로 method를 적어주지 않았지만,(default = get 방식), 보안상 가려져야하는 정보는 post방식으로 넘겨주는 것이 좋다. {% csrf_token %} 디자이너 생성 페이지 Create 2) urls.py - create_fbv 함수를 따로 만들어 줄것이기에 미리, urls.py에 선언해 준다...

Django/응용 2021.06.13

[Django 게시판] 1. generic View를 이용한 CRUD

내 마음데로 게시판 아닌 게시판을 만들거다. ​ CRUD 1. Read (ListView) ​ Fbv 를 이용하면 여러가지 추가할 사항이 많지만 generic cbv는 간단하고 코드 문장을 간결하게 작성할 수 있다. ​ from django.shortcuts import render from . import models #CBV 사용 from django.views.generic import CreateView,ListView #cbv #Read(게시물 나열) class DesignerList(ListView): model = models.Designer context_object_name = 'designer' #객체를 부르는 이름 template_name='home.html' #Default 연결 값..

Django/응용 2021.06.13

Django에 MySQL 연동하기 (DB 연동)

1. 커넥터 설치 pip install mysqlclient 2. settings.py 설정 django project의 manage.py가 있는 디렉토리에서, touch my_settings.py 혹은vi my_settings.py로 새로운 파일을 생성한다. touch my_settings.py 이렇게 하는 이유는, github에 올릴때나 다른 외부로부터 개인정보, DB를 보호하기 위함이다. #1 :사용할 엔진 설정 #2 : 연동할 MySQL의 데이터베이스 이름 #3 : DB 접속 계정명 #4 : 해당 DB 접속 계정 비밀번호 #5 : 실제 DB 주소 #6 : 포트번호 #my_settings.py DATABASES = { 'default': { 'ENGINE': 'django.db.backends.my..

Django/응용 2021.05.19

[Django] GeoJson 파일 파싱하기 (Json이란 무엇일까?)

지난번에 도로명주소 전자지도 데이터를 사용하기 위해서 shp -> json 형식의 파일로 변환해 주었다. thalals.tistory.com/24?category=476043 QGIS shp 파일 좌표계 변환, Gson 데이터 변환(직렬화) 도로명 주소 전자지도 데이터를 다운받으면, 해당 지역의 많은 shp파일을 확보할 수 있다. 이 데이터를 활용하기 위해서는 좌표계를 GRS80 UTM-K기준 좌표계에서 WGS 84 / Pseudo-Mercator(EPSG:3857)로 바꿔 thalals.tistory.com 이제 이 GeoJson 파일을 파싱하여 원하는 데이터만 사용할려고 한다. 그전에 JSON에 대해서 정리를 해보자 1. Json이란 Json이란, JavaScript Object Notation으로 ..

Django/응용 2021.05.10
반응형