Django
장고는 파이썬으로 만들어진 웹 애플리케이션 프레임워크입니다.
웹 페이지 개발 과정 중 겪는 어려움을 줄여주어 쉽게 웹을 개발할 수 있도록 해줍니다.
데이터 베이스 연동, 템플릿 형태의 표준, 세션 관리, 코드 재사용 등의 이점이 있습니다.
가상환경 설정
- django를 설치하기 전 가상환경을 만들어줍니다.
- django를 이용한 웹 개발은 이곳에서 이루어져야 합니다.
[가상환경 설정하는 법]
2022.03.03 - [개발일기] - [Python] 가상환경(virtual environment) 사용하기
Django설치
- django 설치를 위해 가상환경 내에서 다음 명령어를 실행합니다.
pip install django==<설치를 원하는 버전> ex)pip install django==3.1.12
- pip list로 정상적으로 설치되었는 지 확인할 수 있습니다.
프로젝트 생성
- 가상환경에 프로젝트를 생성합니다.
- 마지막에 한 칸을 띄고 .을 찍어야 최상위 위치에 prject directory가 생성됩니다.
django-admin startproject <프로젝트 명> .
- 프로젝트를 생성하면 가상환경이 다음과 같은 구조가 됩니다.
- <최상위 폴더>
- <project명 폴더>
- __init__.py
- asgi.py
- settings.py
- urls.py
- wsgi.py
- manage.py
- <가상환경 명 폴더>
- <project명 폴더>
다음의 명령어로 정상적으로 프로젝트가 생성되었는지 확인할 수 있습니다.
python manage.py runserver
정상동작 시 출력
...
Django version 3.1.12, using settings '<프로젝트 명>.settings'
Starting development server at http://127.0.0.1:8000/
Quit the server with CTRL-BREAK.
위의 http://127.0.0.1:8000/ 을 ctrl을 누른 채 클릭하여 접속합니다.
사진과 같이 로켓이 있는 사이트에 접속되면 성공입니다.
앱 생성
프로젝트를 생성한 뒤 앱을 생성합니다.
django와 python에서 내부적으로 작동하는 이름은 사용하지 않도록 주의하고,
이 때 앱의 이름은 복수형으로 작성하는 것을 권장합니다.
ex) my_apps
python manage.py startapp <앱 이름>
- 앱을 생성한 뒤 project directory안의 settings.py에 앱을 등록해야 합니다.
- settings.py 내부
...
INSTALLED_APPS = [
# EXAMPLE
'my_apps',
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
]
...
- INSTALLED_APPS 안 가장 위에 앱의 이름을 작성합니다.
여기까지 완료했다면 이제 프로젝트를 진행하면 됩니다.
느낀점🧐
프로젝트 시작도 안했는데 준비만해도 힘이 드네요...
기초를 다져놔야 나중에 본격적으로 프로젝트를 시작해도 실수없이 진행할 수 있다고 생각하고 열심히 하는 중입니다.🙌
프로젝트와 앱이 무엇을 의미하는지, 선언 시 생성되는 파일들의 역할은 무엇인지도 알아보고 오겠습니다!
매일 남기는 말
배워가는 단계에 있는 새싹 개발자입니다. 오탈자나 틀린 정보가 있다면 알려주시면 감사하겠습니다. 행복한 하루 되세요🐹
'개발일기 > Web' 카테고리의 다른 글
[React]Redux로 상태관리하기 + Redux-toolkit (0) | 2022.08.24 |
---|---|
[Node.js] socket.io를 활용하여 채팅구현하기 (2) | 2022.06.16 |
[Python] 가상환경(virtual environment) 사용하기 (0) | 2022.03.03 |
[HTML] 시맨틱 태그(Semantic Tag) 알아보기 (0) | 2022.02.13 |
[HTML] html 기본 (0) | 2022.02.12 |