1주차 OT 8/30
2주차 주제 선정 (타임캡슐) 9/6
3주차 주제 변경 (냉장고 관리 웹사이트) 9/13
4주차 주제 결정 및 plan A, B 설정 9/20
5주차 프로젝트 첫 번째 중간 보고 9/27 (9/21~9/26)
1. 백엔드 : python (3.11.4), 장고 프레임워크 사용 ⇨ pycharm (같은 반 학우분께서 학생 계정을 쓰면 유료 버전을 쓸 수 있다고 알려주셨다. ㅎㅎ)
2. 프론트엔드 : html css JS ⇨ 비주얼 스튜디오 파이참
3. 터미널 프로그램 ⇨ cmder (dos 명령어 + 리눅스 명령어 사용 가능) 예를 들면 dir ⇨ ls
가. 목 표 : landing page의 ui를 만들기 전 미리 시연해본다.
나. 활동내용:
(1) github 연동 및 프로젝트 폴더 생성
1. 깃허브에 레포지토리 생성 (django_calender)
2. c:\django_calender 생성 후 git clone [django_calender] 연결
(2) 가상환경 만들기
1. file > Settings > 프로젝트 : [프로젝트 폴더명] > python interpreter
인터프리터 추가 > vertualenv 환경 > 환경 : 새로 만들기
2. .gitignore 파일에 .idea(파이참에서 프로젝트에 설정한 내용을 담는 폴더) 추가
3. 가상환경 실행(venv\Scripts\activate.bat) 후 장고 설치(pip install django)
(3) 장고 프로젝트 생성
1. 장고 프로젝트 생성 (django-admin startproject django_calender_prj .)
2. 앱 만들기 (python manage.py startapp calender)
3. 관리자 계정 생성 (python manage.py createsuperuser)
4. templates/.html 파일 작성 > fullCalender 라이브러리 적용
5. calender 앱의 model.py 수정
(4) mysql 설치 및 DB 연동
1. mysql workbench 설치
2. Dockerfile, docker-compose.yml 작성
3. settings.py 수정 > pip install mysqlclient 설치 > 마이그레이션 진행 settings.py의 databases 파트 수정
python manage.py makemigrations > python manage.py migrate
makemigrations : models.py에서 적용한 변경사항이나 추가된 혹은 삭제된 사항들을 감지하여 파일로 생성
migrate: 적용되지 않은 migrations들을(설정값들을) 적용시키는 역할
즉, makimigrations는 장고에서 제공하는 모델의 변경사항들을 감지하고 기록 migrate는 그러한 기록된 파일들과 설정값들을 읽어서 그 변경사항을 db에 저장
4. mysqlcilent 설치 후 데이터베이스 생성
create database calender character set utf8mb4 collate utf8mb4_general_ci;
+ 관리자 계정 생성 (python manage.py createsuperuser)
(5) html 작성 (fullCalender 라이브러리 적용)
1.https://cdnjs.com/libraries/fullcalendar/3.9.0 접속
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/fullcalendar/3.9.0/fullcalendar.min.css" />
<script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.24.0/moment.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/fullcalendar/3.9.0/fullcalendar.js"></script>
2. https://www.jsdelivr.com/package/npm/jquery?tab=files 접속
<script src="https://cdn.jsdelivr.net/npm/jquery@3.7.1/dist/jquery.min.js"></script>
<footer class="py-5 bg-dark"><div class="container"><p class="m-0 text-center text-white">Copyright © Taegyeong's Website 2023</p></div></footer>