Django와 Port 개념

Gata·2023년 4월 21일

🦖 Python Django Web Framework

Django

  • 파이썬 언어의 대표적 web framework(웹페이지를 만드는 공장)
  • 사용자의 요청이 들어오면 이 프로그램이 요구대로 웹페이지를 공장처럼 찍어낸다.
  • 웹 애플리케이션을 만들때 많은 부분은 공통적이다.
  • 사이트를 만들 때 공통적인 부분 ⇒ 이런 작업을 미리해둔 소프트 웨어를 web framework라고 한다.
  • web을 만들 때= 공통( web framework) + 개성(내가 직접)
  • 가상환경마다 다른 개발환경을 구축할 수 있다.

Port의 개념

ip 주소 : 127.0.0.1
서버 소프트웨어: 1번,2번,3번
port 번호: 0~ 65535번

내 로컬 컴퓨터와 서버 소프트웨어와 연결시킬 때는 어떤 PORT를 통해 연결할 것인가 정해야한다.

예를 들면, 1번 서버 소프트웨어는 80번 port와 연결(전문용어로 ‘리스닝’)되어 있다. 내 로컬 검색창에 ip주소와 포트번호를 입력하면 해당 서버 소프트웨어에 접속할 수 있다.

http://127.0.0.1:80

py manage.py runserver

위와 같이 파이썬 개발서버를 실행 시키면, 파이썬 개발 서버는 기본적으로 8000번 PORT와 리스닝 한다.


하지만 만약 8000번 포트에 다른 서버가 실행되고 있다면?

1) 그 서버를 off하고 개발서버에 리스닝하거나,

2) 내 개발 서버를 8000과 다른 번호(예를 들어, 8888)의 port에 리스닝시키면 된다.

py manage.py runserver 8888

8888번 포트와 서버를 연결하라는 명령어


http://127.0.0.1:8888

포트번호가 8000번에서 8888으로 바뀐 주소를 사용할 수 있다.

2. app 만들기

⭐목표 : myapp이라는 이름의 app 만들기

django-admin startapp myapp

myapp은 폴더의 이름을 사용자가 짓는다.

전체적인 맥락

  • vscode로 보는 폴더 및 파일 목록
  • project(myproject)안에 설정들이 여러개 있는데 그 중 하나가 urls.py
  • 실제 구현은 project안에서 하는 것이 아닌 더 작은 작은 단위(app)를 만들어서 그 안에서 구현을 한다.
  • 프로젝트가 복잡해지는 것을 막기위해 서로 연관된 로직들을 모아서 그룹핑한다. 그때 여러개의 app을 만들어서 정리한다.각 app 안에는 urls.py라는 파일이 존재.
  • app 안에 view를 만든다.
  • view 안에 def 함수를 이용해서 앱을 만드는데 필요한 구체적인 구현을 한다.

경로 흐름

  1. 사용자가 접속한다.
    사용자가 타고 들어오는 경로를 urls.py 파일에서 설정한다. urls.py 파일에 작성되어있는 코드대로 적당한 app의 urls.py로 사용자가 타고 들어간다. app의 urls.py에 적혀있는 코드대로 적당한 view에, 적당한 함수(def)로 타고들어간다.

  2. 구체적인 작업 실시
    데이터 베이스를 이용하게 될 것. 근데 데이터 베이스(DB)에 직접 접속하는 것이 아니라, Django안에 model이라는 편리한 수단을 이용해서 DB에 접속한다. DB에 있는 정보를 받아서 Client에게 html, json, xml과 같은 형태의 데이터를 보내준다.

profile
개발은 즐거워🪇

0개의 댓글