인스타그램 클론코딩
Django : python기반 프레임워크
https://www.youtube.com/watch?v=M8UPyeF5DfM&t=3497s
기대사항
어떻게 웹서비스가 돌아가는 지 전체적으로 알 수 있다.
- 사용 툴 : pycharm
- python version : 3.12 (2024.01기준)
- 2022기준 3.6이 가장 많이 쓰이는 버전
우선 python을 설치하자.
여기에서 Add python.exe to PATH를 체크해서 install Now해준다.
(아니면 나중에 환경변수 설정해줘야해서 골치아픔)
이제 프로젝트를 만들자!
프로젝트명을 바꿔주고 환경설정을 해보자!
`new virtualenv environment`는 가상환경을 어떻게 해줄지 정하는 공간이다.
Django를 선택하고 Base Interpreter
를 3.12로 바꿔주자
location에 해당하는 항목에 가상환경이 만들어진다.
장고에는 여러가지 package가 존재하는데, 이런 것들을 다 다운 받아 두면 나중에 다른 프로젝트를 만들 때, 필요없는 package가 남아있게 된다ㅜㅜ!
이 점을 극복하고자 가상환경을 만드는 것이다!!
이로써, 서로 다른 프로젝트에 필요한 package만 독립적으로 사용할 수 있다.
Django는 MVT모델
spring의 경우 MVC(model, view, controller)모델을 활용하나, django는 MVT모델을 사용한다. 이 모델에 대해서 알아보자.
- MVT : model view template
- view :controller의 역할을 한다. 즉 data를 처리하는 부분이다.
- template : 화면이 보이는 요소. html, css를 여기에서 관리한다.
- model : 예를 들어 회원이라는 모델이 있으면, 필드를 정해주는 것
- template으로 보낼때 view를 통해서 보낸다.
- 결론적으로 view가 제일 중요하다.
settings.py
: project의 설정이 담겨있는 파일manage.py
: 장고를 관리하는 파일. 장고를 띄우거나 db관리하거나.. 할때 동작하는 파일이다.urls.py
: 관련 url의 연결을 정리해두는 파일이다.
우선 프로젝트를 실행해보자!
여기에서 community 버전같은 경우에는 자동 실행이 안된다.
Edit configurations
에 들어가서
이렇게 환경 설정을 먼저 해주어야 한다.
여기서 설정을 하면 될 줄 알았는데 안된다;;ㅜㅜ
이처럼 실행되지 않는다면 terminal창에
python manage.py runserver
를 입력해보자.
그럼 앵간하면 서버가 잘 실행될 것이다.
이렇게 django에서 기본적으로 제공하는 화면이 떴다!
이 화면에는 어떻게 접속하게 된 것일까?
http://127.0.0.1:8000/ 에 대해 알아보자!
ip 주소는 xxx.xxx.xxx.xxx 이렇게 관리가 된다. well-known이라고 둔 주소가 127.0.0.1인데, 이를 localhost(loop-back) 이라고 한다. 간단히 말해 이 주소는 자신을 가리키는 것이다.
port 번호는 하나의 컴퓨터에 여러가지 프로젝트가 사용되는 경우를 예시로 이해해보자.
react에서 django로 가고싶어.. 헉 ip주소가 같아서 어디로 가야할지 모르겠자나ㅠㅠ
때문에 port # 로 나눠 구분할 수 있게 하는 것이다!
즉, react 포트를 8001, django를 8002를 사용하도록 부여하면, 해당 포트 번호로 잘 찾아갈 수 있다.
well-known port # 로 http는 80, ftp는 20, ssh는 21, https는 443이 있다. // 수정해야 됨
내부적으로 사용할 때에는 범위(0~65535) 내의 아무 숫자나 쓸 수 있다.
terminal창에 아래와 같은 메시지가 뜨는 것을 확인할 수 있다.
[10/Jan/2024 17:18:08] "GET / HTTP/1.1" 200 10629
여기에서 200은 성공적으로 파일을 열었다는 말이다.
그럼 다음 글에서는 나만의 페이지를 만드는 실습을 해보자!
'Django당' 카테고리의 다른 글
[React + Django] - Broken pipe from ('127.0.0.1', 63456)에러 해결하는 방법 (1) | 2024.02.13 |
---|---|
Django랑 React를 Rest api로 연결해보자(실패이유 찾는중..) (1) | 2024.01.27 |
(3) Django 인스타그램 피드화면 만들어보기 [데이터베이스] (1) | 2024.01.23 |
(3) Django 인스타그램 피드화면 만들어보기 [설정] (0) | 2024.01.23 |
(2) Django로 나만의 페이지를 만들어보자 (1) | 2024.01.11 |