django

[Django] 시작하기 / 가상환경 / project / App 생성하기

peach_h 2023. 3. 14. 15:39
프레임워크(Framework) : 서비스 개발에 필요한 기능들을 미리 구현해서 모아 놓은 것

Framge(뼈대, 틀) + Work(일)

  • 제공받은 도구들과 뼈대, 규약을 가지고 무언가를 만드는 일
  • 특정 프로그램을 개발하기 위한 여러 도구들과 규약을 제공하는 것

 

소프트웨어 프레임워크(Software Framework) : 복잡한 문제를 해결하거나 서술하는데 사용되는 기본 개념 구조

웹 서비스 개발에 있어서 모든 것들을 하나부터 열까지 직접 개발할 필요 X

내가 만들고자 하는 logic에 집중해 개발할 수 있다.

소프트웨어의 생산성과 품질을 높힐 수 있음

 

Django : 서버를 구현하는 웹 프레임워크 ( python으로 작성 )
 1. Project
  • collection of apps 앱의 집합
  • 여러 앱 포함 가능
2. Application
  • App은 실제 요청을 처리하고 페이지를 보여주는 역할 담당
  • 하나의 역할 및 기능 단위로 작성하는 것을 권장
  • 여러 프로젝트에 있을 수 있음

 

실습
1. 가상환경 만들기

폴더 생성 후, cmd 실행 python -m venv 원하는이름

-> 만들어진 가상 환경/Scripts 에서 cmd로 Activate 입력 

-> 가상환경 실행 완료

 

2. 장고 설치

cmd 창에 pip install django 입력

 

3. project 만들기 --> 가상환경 폴더 밖에 만들어야함 !!

venv - 가상환경 / first_pro - 생성한 프로젝트

django-admin startproject 원하는이름 입력하여 프로젝트 생성

-> 생성한 project안에 manage.py 파일이 생성됨

  • _init_.py : python에게 이 디렉토리를 하나의 python 패키지로 다루도록 지시
  • asgi.py: django 어플리케이션이 비동기식 웹 서버와 연결 및 소통하는 것을 도움 / 배포 시 사용
  • settings.py : django 프로젝트 설정을 관리
  • urls.py : 사이트의 url과 적절한 views의 연결을 지정
  • wsgi.py: Web Server Gateway Interface / django 어플리케이션이 웹 서버와 연결 및 소통하는 것을 도움 / 배포 시 사용
  • manage.py : django 프로젝트와 다양한 방법으로 상호작용하는 커맨드 라인 유틸리티
4. app 만들기 -> 하나의 큰 기능 단위

django-admin startapp 원하는이름 입력하여 app 생성

  • admin.py : 관리자용 페이지를 설정 하는 곳
  • apps.py : 앱의 정보가 작성되는 곳
  • models.py : app에서 사용하는 model을 정의 / MTV 패턴의 M에 해당
  • test.py : 프로젝트의 테스트 코드를 작성
  • views.py : view 함수들이 정의 되는 곳 / MTV 패턴의 V에 해당

→ APP을 사용하기 위해서는 반드시 project의 settings.py에 INSTALLED_APPS 리스트에 추가해야함 !

 

 

직접 뭔가 만들어보기
1. 생성한 project의 urls.py 수정

path('articles/', views.index),  추가

 

2. app의 views.py 수정

띄우고 싶은 내용 적기

 

3. 터미널 / cmd 창에 python manage.py runserver

서버를 실행해서 제대로 작동하는지 확인하면 끝