1. 개발자 유형별 데이터 추가1.1 JSON2.1 JSONField2. 결과 페이지 템플릿에 데이터 추가2.1 title2.2 features2.3 descriptions2.4 languages2.5 lectures3. static 폴더 수정4. 다른 결과 알아보기4.1 URL4.2 View4.3 Template5. 카카오톡 공유하기 기능 구현
1. 개발자 유형별 데이터 추가
현재까지 만든 결과 페이지에는 개발자 유형별 설명이 포함되어 있지 않습니다. 이제 각 개발자 별로 상세 설명을 추가하겠습니다.
1.1 JSON
각 개발자 유형별 설명 데이터를 DB에 JSON 형식으로 넣을 것입니다. JSON(JavaScript Object Notation)이란 자바스크립트 언어에서의 객체 표기법으로 자세한 설명은 부록(용어집, 교양을 위한 얇은 지식)의 JSON 파트에서 확인하실 수 있습니다.
다음은 백엔드 개발자에 대한 설명 데이터의 JSON입니다.
title
다음 사진처럼 개발자 유형 이름 위에 붙는 제목입니다.

features
개발자 유형의 특징에 대한 설명입니다.

descriptions
개발자 유형마다 하는 일을 설명합니다.

languages
해당 개발자가 되기 위해 공부해야 할 프로그래밍 언어에 대한 설명입니다.

lectures
해당 개발자가 되기 위해 수강할만한 강의들의 목록입니다.

2.1 JSONField
이러한 JSON 데이터를 DB에 넣기 위해서
Developer
모델에 JSONField
를 추가합니다.모델이 변경되었으니
makemigrations
, migrate
명령을 수행합니다. 중간에 data 필드가 다른 데이터에 비어있다는 문구가 뜰텐데 1을 입력하고, 다시 1을 입력해서 모든 값들을 다 1로 채워줍니다.
데이터를 일일이 타이핑해서 집어 넣기는 힘들겠죠? 그래서 업데이트된 새로운 data.json을 준비했습니다.
내용을 복사 붙여넣기 하시거나, 파일 자체를 교체하신 뒤에 Database Seeding 파트에서 배운
loaddata
명령을 수행합니다.shell_plus를 이용해 데이터가 잘 들어갔는지 확인 할 수 있습니다.
backend.data
의 타입을 확인해보면 딕셔너리임을 알 수 있습니다.이렇게 Python에서는 주로 JSON 데이터를 dictionary로 변환하여 표현합니다.
2. 결과 페이지 템플릿에 데이터 추가
이제 결과 페이지 템플릿 result.html을 추가된 데이터들이 보여지도록 수정하겠습니다.
2.1 title
2.2 features
2.3 descriptions
2.4 languages
2.5 lectures
3. static 폴더 수정
위와 같이 템플릿을 올바르게 수정하여도 아직 노출 되지 않는 이미지들이 있을 것입니다. 왜냐하면 필요한 이미지들을 static 폴더에 아직 업데이트를 하지 않았기 때문입니다.
위의 파일을 다운 받아서 staticfiles 폴더를 교체해주세요. 필요한 이미지가 많아졌기 때문에 img 폴더 하위에 추가적으로 분류하였습니다.
- lang 폴더(프로그래밍 언어 이미지)
- lec 폴더(강의 의미지)
이제 문제 없이 이미지들이 잘 노출될 것입니다.
영상에도 static폴더에 업로드를 하였다가 작동이 되지 않아 staticfiles에 업로드를 하였는데요. static 폴더가 아니라 staticfiles에 이미지를 업로드 해주셔야 합니다.
4. 다른 결과 알아보기
마지막으로 아직 구현되지 않은 부분이 있습니다. 바로
다른 결과 알아보기
입니다.
이를 구현하기 위해서
/all_results/
라는 경로에 원하는 유형을 골라 볼 수 있는 페이지를 만들 것입니다. 여기서도 마찬가지로 URL → View → Template 순으로 개발합니다.
4.1 URL
4.2 View
views.py에
all_results
뷰 함수를 정의합니다. all_results.html은 다음에 만들 템플릿 파일입니다.4.3 Template
all_results.html 템플릿을 다음과 같이 작성합니다.
이제
/all_results/
경로로 접속하면 개발 유형을 선택할 수 있는 페이지가 보입니다. 각 캐릭터를 클릭하면 해당 개발 유형의 페이지로 이동됩니다.
5. 카카오톡 공유하기 기능 구현
- result.html에 js 순서를 아래와 같이 바꿔주세요.

- result.js 파일 안에 있는 url을 모두 현재 자신의 url로 바꿔주세요.

- 카카오 developers에서 여러분의 web을 등록해주세요. (강의 영상 참고하세요.)

- kakao 키가 아래 제대로 입력되어 있는지 확인해주세요.

