카테고리 없음

django 기초 복습 1

rlarudals 2024. 8. 19. 22:00

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 파일 생성

 

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
    <h1>hello, django, index.page </h1>
</body>
</html>

 

html 안에 입력할 내용 입력

 

 

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

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가 되어 전송됨.

name 속성과 for을 같게 해야한다