"2. 장고 프로젝트, 앱 만들기"의 두 판 사이의 차이
1번째 줄: | 1번째 줄: | ||
− | =프로젝트 | + | =프로젝트= |
===장고 설치=== | ===장고 설치=== | ||
<code>python -m pip install --upgrade pip</code> 으로 pip를 업그레이드 해준 후, <code>pip install django</code>로 설치한다. | <code>python -m pip install --upgrade pip</code> 으로 pip를 업그레이드 해준 후, <code>pip install django</code>로 설치한다. | ||
12번째 줄: | 12번째 줄: | ||
!방법 | !방법 | ||
!비고 | !비고 | ||
+ | |- | ||
+ | |프로젝트 디렉터리 생성 | ||
+ | | | ||
+ | |프로젝트를 둘 디렉터리를 설치한다. | ||
|- | |- | ||
|프로젝트 생성 | |프로젝트 생성 | ||
34번째 줄: | 38번째 줄: | ||
다양한 기능들을 분화해서 관리하면 수정에도 편하고, 기능의 관리, 파악에도 편하다. | 다양한 기능들을 분화해서 관리하면 수정에도 편하고, 기능의 관리, 파악에도 편하다. | ||
− | 예컨대, 회원관리 기능을 만들었는데, 다른 프로젝트에서 또다시 회원가입 기능을 만들 땐 단순히 프로젝트 내의 코드를 옮기는 경우가 많았다. 그러나, 앱처럼 모듈화 해두면 필요한 기능을 그냥 통째로 | + | 예컨대, 회원관리 기능을 만들었는데, 다른 프로젝트에서 또다시 회원가입 기능을 만들 땐 단순히 프로젝트 내의 코드를 옮기는 경우가 많았다. 그러나, 앱처럼 모듈화 해두면 필요한 기능을 그냥 통째로 사용하면 된다. |
− | ==앱== | + | ==앱 만들기== |
{| class="wikitable" | {| class="wikitable" | ||
!과정 | !과정 |
2021년 4월 27일 (화) 14:02 판
1 프로젝트
1.1 장고 설치
python -m pip install --upgrade pip
으로 pip를 업그레이드 해준 후, pip install django
로 설치한다.
1.2 프로젝트 만들기
장고는 프로젝트 안에 여러 개의 앱으로 구성되는 구조이다.
가상환경을 사용한다면 그 이후에 진행하자.
과정 | 방법 | 비고 |
---|---|---|
프로젝트 디렉터리 생성 | 프로젝트를 둘 디렉터리를 설치한다. | |
프로젝트 생성 | django-admin startproject config . | 프로젝트 디렉터리가 될 곳 안에서 실행('.'은 현재 위치라는 의미.)
config 말고 다른 이름도 가능하지만, 추후에 바꾸기 어렵기 때문에 일반적으로 사용하는 config를 권장한다. |
DB생성 | python manage.py migrate | DB변경사항을 반영하라는 명령이다. |
서버작동 | python manage.py runserver | 서버를 돌린 후 http://localhost:8000 으로 들어가 작동이 되는지 확인해본다.
이게 된다면 기본적인 작동에 대한 문제는 없다. |
2 앱
일정한 기능들을 모은 것.
2.1 앱을 나누는 이유
다양한 기능들을 분화해서 관리하면 수정에도 편하고, 기능의 관리, 파악에도 편하다.
예컨대, 회원관리 기능을 만들었는데, 다른 프로젝트에서 또다시 회원가입 기능을 만들 땐 단순히 프로젝트 내의 코드를 옮기는 경우가 많았다. 그러나, 앱처럼 모듈화 해두면 필요한 기능을 그냥 통째로 사용하면 된다.
2.2 앱 만들기
과정 | 방법 | 비고 |
---|---|---|
생성 | django-admin startapp 앱이름 | 프로젝트 디렉터리 안에서 실행.
그냥 단순히 앱 이름의 디렉터리를 만드는 것 뿐. 기존의 앱을 옮겨온다면 그냥 붙여넣기를 하면 된다. |
설정클래스 등록 | Settings.py에 앱 등록config/settings.py 안에...
INSTALLSED_APPS 항목에 추가한다. |
INSTALLSED_APPS 항목 안에 앱이름만 추가해준다.
ex) INSTALLED_APPS = [ 'django.contrib.admin', 'django.contrib.auth', 'django.contrib.contenttypes', 'django.contrib.sessions', 'django.contrib.messages', 'django.contrib.staticfiles', '앱이름', ]
|
삭제 | 그냥 단순히 앱 디렉터리를 지우고 settings.py에서 등록한 앱을 지워주면 된다. |