프레임워크 : 웹 서비스를 쉽게 만들어주는 기계
** 리액트는 라이브러리이다.
echo "리드미 내용" >> README.md
git init # 처음 연동시 최초 1회에만
git add . # 스테이징에 추가하기 '.' 은 추가/생성된 모든 파일을 add 하겠다는 의미. 변경된 아무파일이 없으면 오류뜸
git commit -m "커밋 메시지"
git branch -M main # branch main으로 변경
git remote add origin 복사한 개인 repository url # 레포지토리 연동
git push -u origin main
//linux 기초 명령어
pwd # 현재 작업중인 디렉토리 출력
ls # 현재 디렉토리에 들어있는 전체 목록 출력
cd # 디렉토리 변경
rm # 파일이나 디렉토리 삭제
clear # 터미널 기록 지우기
...
가상환경
독립적인 개발환경을 만들어주기 위해 사용하는 python 내장 기능
만약 가상환경 없이 장고를 그냥 깔면 여러분 개인 노트북 전체에 장고가 영향을 미칠 것이다. 어떤 패키지를 삭제하거나 여러개의 장고프로젝트를 진행하거나 등등 여러 상황에서 서로 어떤 영향을 주는지 예측이 어렵다, 또한 번거롭다.
쉽게 말해 각 프로젝트를 하나의 거대한 가상환경 통에 담아서 서로 영향을 줄 수 없게 함!
방법 1
python -m venv myvenv # myvenv라는 이름의 가상환경
# 가상환경 실행하기
source 가상환경이름/Scripts/activate #window 버전
# 가상환경을 실행하면 명령어창 위에 가상환경 이름이 소괄호 안에 표시됨
# 가상환경 끄기
deactivate # 소괄호가 사라짐
cd sns-project/
방법 2
python --version # python version 확인
#python 버전이 3 이상일 경우 pip(python2 버전의 패키지 매니저)가 아닌 pip3로 설치해줘야함
pip3 install pipenv # pip3를 사용해 pipenv라는 이름의 가상환경 설치
pipenv shell # 위에서 생성한 pipenv 가상환경으로 들어가기
pipenv --rm #가상환경 전체 삭제
프로젝트 생성하기
pip3 install django #pip : 패키지를 관리하는 툴. 4가지 의존적인 패키지를 포함해서 Django를 설치한다.
pip freeze #pip를 이용해 어떤 패키지가 설치되어 있는지 확인 가능하다.
django-admin startproject [프로젝트이름] .#현재 디렉토리에 프로젝트 이름의 프로젝트 파일이 생성된다.
**__init__.py
‘**이 init.py가 있는 sns-project가 패키지이다’를 알려주는 기능으로써 존재함.
**asgi.py**
Asynchronous Server Gateway Interface의 약자. Web server, framework, application을 연결해주는 역할
**settings.py**
프로젝트의 환경 및 구성에 대한 설정이 있는 파일. 앱 생성 후 이곳에서 등록할 예정
**urls.py**
user가 접근하는 웹사이트의 url과 유저가 보는 view의 연결을 지정해줌
**wsgi.py**
Web Server Gateway Interface의 약자. 웹 서버와 Django간의 통신 역할을 함
**manage.py
** 다양한 기능을 제공함. python manage.py [명령어
] 형태로 사용가능
서버 켜기 python manage.py runserver
Application 만들기 python manage.py startapp [앱이름
]
Database 초기화 및 변경사항 반영 python manage.py migrate
관리자 계정 만들기 python manage.py createsuperuser
applicaion이란? 장고 프로젝트를 구성하는 작은 단위
게시판 기능, 결제 기능, 장바구니 기능 등 처럼 독립적인 기능들을 각각의 어플리케이션으로 만들어서 하나의 django web site가 구성됨
→ setting.py에 등록을 해줘야함!
등록할때 그냥 app이름 적는것 보다 apps.py에 가서 확인후 main.apps.[classname]등으로 등록하는게 더 안전함
python manage.py startapp [앱이름`]
migrations
데이터베이스를 업데이트해주는 파일을 저장하는 폴더
__init__.py
빈파일
admin.py
관리자 사이트와 관련된 설정
model.py
모델에 대한 정보
test.py
test case에 대한 정보
**views.py
앱에 대한 views를 관리하는 파일**