✍ 실습 목표 - 템플릿 상속 문법 적용 - django-bootstrap5 라이브러리 적용 - 장고 템플릿 엔진을 통해 이메일 메세지 문자열을 조합하여, 메일 발송하기 1. 이메일 계정정보 설정하기 (1) 네이버 이메일 환경설정 변경 (2) 어플리케이션 접속을 위한 2단계 인증 관리 설정 변경 (3) 해당 application을 위한 환경변수 생성 일반적으로 계정정보들은 소스코드에 하드코딩 하지 않음. 환경변수를 쉽게 설정 및 변경하기 위해 프로젝트 최상위 폴더에 .env 파일을 생성하여 사용 .env 파일에서는 띄어쓰기를 하지 않아야하고, 절대 버전관리에 넣어서는 안된다.(.gitignore에 추가) 따라서 팀원 간 공유가 안되기에 개발머신마다 설정해주어야한다. 생성한 env를 적용하기 위해 djan..
✍ 실습 목표 - 템플릿 상속 문법 적용 - django-bootstrap5 라이브러리 적용 - 장고 템플릿 엔진을 통해 이메일 메세지 문자열을 조합하여, 메일 발송하기 1. template 상속 (1) app/templates/app 경로에 base.html 생성 - 자식 template에서 상속받아서 내용을 넣을 공간을 만들어주는 것이 필수 (2) 자식 template 수정 - 상속받을 부모 template과 동일한 내용을 반복하지 말자. 상속 코드를 쳐주고, 다른 내용은 제거하고, 부모 template의 공간에 들어갈 코드만 넣어주자. 2. django-bootstrap5 적용 (1) django-bootstrap5 설치 pip install django-bootstrap5 # 터미널에서 설치 * ..
1. models.py 수정 2. manage.py migrate 이용 DB 생성 및 연결 CLI에서 manage.py를 작동시켜 migrations 폴더를 만들고 migrate로 DB와 동기화를 시킨다. 그리고 sqlmigrate app 0001을 확인하면 어떤 쿼리가 작동하였는지를 확인할 수 있다. migrations 폴더에는 0001_initial.py라는 파일이 생성되어있고, django.db로부터 migrations, models 함수를 활용해 테이블을 생성하는 쿼리가 작동됨을 알 수 있다. 이로써 우측 DB 목록에서 id, title, content라는 컬럼을 가진 app_post라는 테이블이 생성된 것을 확인할 수 있다. 3. admin 계정에 post 등록 이전에 만든 superuser 계..
1. 장고 프롤로그 1) 마감 시간이 있는 완벽주의자를 위한 웹 프레임워크 2) 바퀴를 다시 발명하지 마라 3) 시간이 가장 큰 비용이니, 장고를 누리고 시간을 아껴라 4) 고유한 개념 및 데이터는 한 곳에. 5) 중복(redundancy)은 X, 정규화(Normalization)은 O 2. 장고의 설계 철학 1) 일반 (1) 신속한 개발 : 21세기 웹 프레임워크의 핵심은 지루한 부분을 빠르게 만드는 것 (2) 느슨한 결합 : 장고 스택의 근본적인 목표는 "느슨한 결합, 탄탄한 응집" (3) 적은 코드 : 반복을 줄이고, 가능한 최소한의 코드를 사용하며, 다른 언어/프레임워크의 틀에 박힌 코드를 배제 (4) 반복하지 않기 : 중복은 줄이고, 정규화를 지향 / 파이썬의 특성을 활용하여 반복을 축소 / 반..
1. 가상환경 생성 및 실행 python -m venv venv # python -m 가상환경실행 가상환경명 venv/scripts/activate # venv라는 가상환경 폴더의 scripts 내의 activate.bat 실행 get-command python # power shell에서 현재 실행 중인 파일 확인 * 가상환경 폴더는 절대 git 버전관리 대상에 넣지 않음 2. django 설치 및 실행 python -m pip install django~=4.0.0 # 가상환경 내의 python을 활용해 django 4.0.0 설치 python -m django --version # 현재 설치된 장고 버전 확인 python -m django startproject mysite . # 현재 경로(.)d..
✅ 목표 1. 파이썬을 활용해 사용자의 요청이 들어올 때마다 웹페이지를 찍어내는 공장을 만들자 2. 사용자로부터 투고를 받아 페이지를 생성하거나, 사용자마다 다른 페이지를 보여주는 개인화 * windows conda 가상환경에서 cmd와 vsc로 실행 5. Web Application delete, update 기능 구현 1) 삭제(delete) 기능 구현 (1) read page(상세정보 페이지)에 delete 버튼 만들기 homepage에서는 안보이나 상세정보 페이지를 접속하면 delete 버튼이 나타나게끔 만들자. index page(홈페이지) 접속 시에는 id 값이 없으므로 이 id값을 인자로 넣어줄 때만 버튼이 등장하게끔 만들자. read/1/ 과 같이 상세 정보 페이지로 접속 시 HTMLTem..
✅ 목표 1. 파이썬을 활용해 사용자의 요청이 들어올 때마다 웹페이지를 찍어내는 공장을 만들자 2. 사용자로부터 투고를 받아 페이지를 생성하거나, 사용자마다 다른 페이지를 보여주는 개인화 * windows conda 가상환경에서 cmd와 vsc로 실행 4. Web Application form 기능 구현 1) 글쓰기(create) 기능 구현 (1) 글쓰기 페이지 링크 추가 HTMLTemplate의 html 코드에 태그 아래 태그 아래 태그를 넣어 create 페이지 링크 삽입 (2) 글 작성 양식 생성 create 클릭시 글을 작성하는 양식 페이지를 만들어보자. : 단락 생성 : 사용자 입력 상자, - type="text" : 텍스트 입력 / "submit" : 제출 버튼 생성 - name="title"..
✅ 목표 1. 파이썬을 활용해 사용자의 요청이 들어올 때마다 웹페이지를 찍어내는 공장을 만들자 2. 사용자로부터 투고를 받아 페이지를 생성하거나, 사용자마다 다른 페이지를 보여주는 개인화 * windows conda 가상환경에서 cmd와 vsc로 실행 3. Web Application Server 만들기 1) Web server와 Web Application Server의 차이 Web Server는 필요로 하는 페이지가 미리 만들어져 있어서 사용자가 접속 시 준비되어있는 페이지에 접속. Web Application Server는 페이지를 만드는 공장이라고 할 수 있는 프로그램만 있으면, 요청에 따라 해당하는 페이지에 데이터를 올려 html 형태로 응답. 따라서 Web Server는 Static하다고 하며..