
cd : 원하는 디렉토리로 이동하기 (change directory)ls : 현재 터미널 위치의 디렉토리 경로 확인 (list segments)pwd : 현재 자신의 디렉토리 경로 확인 (print working directory)clear : 터미널 지우기✔️ 저번에 만들었던 sns-project 파일을 VS Code에서 열어주세요.

New Git Bash를 클릭하면 새로운 bash shell이 열립니다. 하지만 터미널을 실행했을 때 기본적으로 bash로 실행되도록 설정하기 위해 기본프로필선택을 클릭해 다음 내용을 진행합니다.
💡 Bash? Powershell?
Powershell보다 Bash는 전통적으로 개발 환경에 더 적합하기로 알려져있습니다. 운영진들은 작년부터 bash를 사용해와서 더 익숙합니다. bash와 powershell이 달라서 생기는 문제가 발생할 수도 있기때문에 bash로 환경을 통일하면 좋을 것 같습니다!
$ pip install pipenv(윈도우)$ pip3 install pipenv(맥)✏️ pip란?
파이썬 패키지 라이브러리들을 관리해주는 시스템.
pip를 활용하여 여러가지 패키지들을 설치할 수 있습니다.
pip는 파이썬 3.4 이후 버전에는 기본적으로 포함되어 있어 별도로 설치할 필요가 없습니다.
$ pipenv shell가상환경에 접속하고, 없다면 가상환경을 생성하고 접속합니다.
$ pip install django (윈도우)$ pip3 install django (맥)$ django-admin startproject sns_project💡 'sns_project'라는 이름의 프로젝트 파일을 생성합니다. 프로젝트 파일과 동일한 이름의 폴더도 함께 생성이 됩니다.
우리는 이미 'sns-project'라는 폴더를 만들었기 때문에 프로젝트 파일과 동일한 이름의 폴더가 생겨도 문제가 되지는 않지만 굳이 필요한 상황은 아닙니다.
만약 프로젝트 이름의 폴더없이 프로젝트 파일만 생성하고 싶다면 django-admin startproject [프로젝트 이름] . 을 사용하면 됩니다.
폴더가 많은 것이 복잡하다면 미리 폴더를 만들지 말고 django-admin startproject [프로젝트 이름] 을 사용하거나 , 폴더를 만들고 django-admin startproject [프로젝트 이름] . 을 사용하면 됩니다. 앞으로 과제 프로젝트나 다른 프로젝트시 참고해서 사용해주세요!
manage.py : app을 생성, 서버 실행, 데이터베이스에 관한 작업을 하는 파일settings.py: 프로젝트의 환경 및 구성에 대한 설정이 있는 파일. app생성 후 이곳에서 등록하고, 앞으로 배울 stati file, database 설정을 이곳에서 할 수 있습니다.urls.py: 유저가 접근하는 웹사이트의 url과 view의 연결을 지정해줍니다.(참고)
__init__.py: 빈 파일asgi.py: 웹서버, 프레임워크, 앱을 연결해주는 역할 (Asynchronous SErver Gateway Interface)wsgi.py: 웹서버와 Django간의 통신 역할의 통신 역할(Web Server Gateway Interface)$ cd sns_project💡 서버를 실행하거나 app을 생성하기 위해서는 터미널에서 현재 경로에 manage.py가 있어야합니다. 그 manage.py가 sns_project안에 있기 때문에 이동해주는 것입니다. 이동후 터미널에 $ ls를 입력하면 manage.py가 있음을 확인할 수 있습니다.
구조
sns-project
┣--sns_project (이동 후 현재 경로)
┃ ┣--sns_project
┃ ┣--manage.py
ALLOWED_HOSTS = ['*']*를 입력해 모든 사용자가 이용할 수 있도록 설정합니다.다음으로 setting.py의 거의 마지막의 Internationalization 부분 설정을 해줄겁니다. 언어, 시간, 디버깅 등을 설정할 수 있는 부분입니다.
LANGUAGE_CODE = 'ko-kr'ko-kr로 수정해줍니다.TIME_ZONE = 'Asia/Seoul'Asia/Seoul로 수정해줍니다.USE_TZ = False'python manage.py startapp mainmain이라는 이름의 app을 생성합니다. 현재 경로에 manage.py가 있어야 합니다. ($ ls로 확인)
✏️app이란?
django 프로젝트를 이루는 작은 단위. 프로젝트 내에서 기능별로 개발할 수 있도록 app을 생성해 진행합니다.
INSTALLED_APPS = [
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
'main',
]
프로젝트 파일에 있는 settings.py(sns_project>sns_project>settings.py)에 INSTALLED_APPS 가 있습니다. 우리가 만든 main app을 여기에 추가해줘야 해당 app을 인식합니다. main,로 추가해줍니다.
💡 , app이름 뒤에 붙여야하는 이유
,는 다음 줄에 새로운 앱을 추가할 때 붙여줘야합니다. 사실 맨 마지막 앱이라면,를 붙이지 않아도 에러가 발생하지는 않습니다. 하지만 미리,를 붙여두지 않으면 다음에 새로운 앱을 만들고 추가할 때 까먹는 경우가 많습니다. 따라서 새로운 앱을 추가할 때 편리하게 하기 위해서 미리,를 붙여둡시다!
python manage.py runserverCtrl + C여기까지 문제가 없는지 서버를 실행해봅시다. 현재 경로에 manage.py가 있어야합니다. ($ ls로 확인)
❗ 다음 오류 해결방법: python manage.py migrate
You have 18 unapplied migration(s). Your project may not work properly until you apply the migrations for app(s): admin, auth, contenttypes, sessions.
Run 'python manage.py migrate' to apply them.
migrate에 대해서는 곧 모델링을 하면서 배우게 될 내용입니다. app에서 모델을 만들면 migration을 만들고 migrate를 통해 migration 내용대로 테이블을 생성해 데이터베이스에 저장합니다. 해당 오류는 migrate를 하지 않아 데이터베이스에 연동되지 않아 경고 메세지가 뜨는 경우입니다. 우리는 아직 모델을 만들지 않았지만, 장고에서 기본적으로 등록된 어플리케이션의 모델들이 생성되어 있기때문에 뜨는 메시지입니다. python manage.py migrate 을 입력하면 오류메시지가 뜨지 않습니다.
$ git add .$ git commit -m "project setting, add main app"