프레임워크(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 만들기 --> 가상환경 폴더 밖에 만들어야함 !!
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
서버를 실행해서 제대로 작동하는지 확인하면 끝
'django' 카테고리의 다른 글
[Django] App URL mapping (0) | 2023.03.25 |
---|---|
[Django] 하나의 html을 여러 App에서 돌려쓰기 (0) | 2023.03.15 |
[Django] Template Language (0) | 2023.03.15 |
[22.09.26] 2일차 ( templates / render ) (0) | 2022.09.26 |
[22.09.23] 가상환경 / 프로젝트 / app 만들기 (0) | 2022.09.23 |