django 성경책(공식문서) 주소
https://docs.djangoproject.com/en/4.2/
1. 가상 환경 생성 및 적용
python -m venv venv
- venv 폴더를 만들고 그 폴더를 가상환경에 관련된 폴더로 사용할수 있게 한다
2. 가상환경 활성화
source venv/Scripts/activate
- 가상환경을 끄고 싶으면 deactivate를 입력
3. django 라이브러리 설치
pip install django==4.2(패치버전에 맞게)
4. freeze 하기
pip freeze > requirements.txt
- requirements.txt(의존성파일?)
5. requirements.txt 읽어오기
pip install -r requirements.txt
6. 프로젝트 생성
django-admin startproject my_first_pjt
- django-admin startproject <프로젝트 이름> <생성 디렉토리>
or django-admin startproject <프로젝트 이름> .
이후 프로젝트 개발 서버 실행을 위해
cd my_first_pjt (폴더 안쪽으로 이동) 후 python manage.py runserver 진행
7. 앱 생성
python manage.py startapp articles
- python manage.py startapp <앱 이름>
- 앱 이름은 단수형이든 복수형이든 아무렇게 지어도 되지만 복수형으로 짓기(웬만해서)
8. 앱 등록

TMI
admin.py - 관리자용 페이지 관련 설정
apps.py - 앱 관련 정보 설정
models.py - DB관련 데이터 정의 파일
tests.py - 테스트 관련 파일
views.py - 요청을 처리하고 처리한 결과를 반환하는 파일
요청이 들어오는 순서
요청(request)가 들어오면 -> Url(urls.py)가 처리 -> View(views.py) 처리 -> templates(html) 처리 -> 응답(response) 전달

urls.py 에 위에 내용처럼 코드 입력

이후 views.py 에 위에 내용처럼 입력
이후 내가 생성한 앱에서 templates폴더를 만들고 index.html 파일 생성

html 안에 입력할 내용 입력

최상위 폴더에 templates 폴더 생성 후 base.html 넣기

이후에 setting.py 에 가서

DIR을 수정해준다.

html 코드도 이렇게 변경해주면 동작이 잘 되는것을 확인할 수 있다.
HTML Form.
- 유저의 데이터를 서버로 전송하는 역할
(EX : 회원가입, 로그인 등등 있겠쥬>?>?)

action 은 어디로 보낼지, method 는 어떤 방식을 이용해서 보낼지를 결정한다.
action
- 데이터가 전송될 URL 을 지정
- 지정하지 않을 경우 현재 페이지의 URL로 데이터를 전송
method
- 데이터를 전송하는 방식(HTTP request method)를 지정함
- HTML Form은 GET 방식 또는 POST 방식으로 만 전송이 가능하다.
- method 에는 여러가지가 있다.
GET, POST, PUT, DELETE 등등등등등
GET
- 특정한 값을 조회하는데 사용
- 데이터를 서버로 전송할 때 쿼리스트링을 사용(URL에 데이터가 포함되어 전송)
POST
-
name 속성
- 데이터 전송의 핵심이다.
- form 을 submit 하려면 name 속성에 설정된 값이 서버로 전송됨, 이후 서버에서는 name 속성을 사용하여 값에 접근한다.
이 과정을 거쳐 name 속성의 값이 key 값이 되고, 사용자가 입력한 값이 value가 되어 전송됨.
