개발일기/Web

[Django] Django 기초(프로젝트 및 앱 만들기)

DongKeun2 2022. 3. 3. 19:59

Django

장고는 파이썬으로 만들어진 웹 애플리케이션 프레임워크입니다.
웹 페이지 개발 과정 중 겪는 어려움을 줄여주어 쉽게 웹을 개발할 수 있도록 해줍니다.
데이터 베이스 연동, 템플릿 형태의 표준, 세션 관리, 코드 재사용 등의 이점이 있습니다.

가상환경 설정

  • django를 설치하기 전 가상환경을 만들어줍니다.
  • django를 이용한 웹 개발은 이곳에서 이루어져야 합니다.

[가상환경 설정하는 법]

2022.03.03 - [개발일기] - [Python] 가상환경(virtual environment) 사용하기

 

[Python] 가상환경(virtual environment) 사용하기

가상환경 독립된 환경에서 패키지를 다루기 위해 사용합니다. 여러 프로젝트를 진행할 때 패키지 별로 호환성이 다르기 때문에 필요합니다. pip 을 통해 패키지를 받으면 파이썬 설치 폴더에 저

dongkeun2.tistory.com

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
    • <가상환경 명 폴더>

다음의 명령어로 정상적으로 프로젝트가 생성되었는지 확인할 수 있습니다.

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 안 가장 위에 앱의 이름을 작성합니다.

여기까지 완료했다면 이제 프로젝트를 진행하면 됩니다.

느낀점🧐

프로젝트 시작도 안했는데 준비만해도 힘이 드네요...
기초를 다져놔야 나중에 본격적으로 프로젝트를 시작해도 실수없이 진행할 수 있다고 생각하고 열심히 하는 중입니다.🙌
프로젝트와 앱이 무엇을 의미하는지, 선언 시 생성되는 파일들의 역할은 무엇인지도 알아보고 오겠습니다!

매일 남기는 말

배워가는 단계에 있는 새싹 개발자입니다. 오탈자나 틀린 정보가 있다면 알려주시면 감사하겠습니다. 행복한 하루 되세요🐹