프로젝트 

    하나의 웹 사이트라고 생각하면 된다.

 

    프로젝트 안의 기능을 담당하는 앱을 생성한다.

 

 

디렉터리 구조

 

프로젝트

    templates

    앱

venv

 

기본적으로 위와 같은 위치로 사용한다.

 

 

 

app 생성하기

django-admin startapp 앱이름

# 앱을 생성하면 함께 생성되는 기본 파일
# __init__.py
# admin.py
# migrations
# models.py
# views.py
# test.py

 

 

이외에 추가로 다음과 같은 파일을 생성할 수 있다.

  • urls.py: 앱의 URL 패턴 선언
  • forms.py: 입력 폼 선언
  • behaviors.py: 모델 믹스인 위치에 대한 옵션
  • constants.py: 앱에 쓰이는 상수 선언
  • decorators.py: 데코레이터
  • db/: 여러 프로젝트에서 용되는 커스텀 모델이나 컴포넌트
  • fields.py: 폼 필드
  • factories.py: 테스트 데이터 팩토리 파일
  • helpers.py: 뷰와 모델 파일을 가볍게 하기 위해 유틸리티 함수 선언
  • managers.py: models.py가 너무 커질 경우 커스텀 모델 매니저가 위치
  • signals.py: 커스텀 시그널
  • viewmixins.py: 뷰 모듈과 패키지를 더 가볍게하기 위해 뷰 믹스인을 이 모듈로 이전

 

 

 

vs code의 경우 파이참과 달리 아래와 같이 수정해야  templates 폴더와  app 을 사용할 수 있다.

 

settings 

#TEMPLATES 안의 DIRS를 아래와 같이 변경

'DIRS': [BASE_DIR/'templates'],

 

 

INSTALLED_APPS = [
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',
    #추가하기
    'user'
]

 

 

'Python > Django' 카테고리의 다른 글

05. Django 템플릿  (0) 2023.04.10
04.5 Django 관리자  (0) 2023.04.09
04.Django 모델  (0) 2023.04.09
03. Django URL  (0) 2023.04.07
01. Django 기초  (0) 2023.04.05

웹 프레임워크란?

 

    웹 프레임워크는 웹 프로그램을 만들 때 필요한 여러가지 기능을 이미 가지고 있다. 따라서 구현하기 어려운거나 번거로운 기능들도 쉽고 빠르게 만들 수 있도록 도와준다.

 

 

 

Flask와 Django

Flask, Pyramind Django
DB, 로그인등의 암호화, 관리자툴 제공  DB, 로그인 등의 관리가 필요
커뮤니티 문서가 구현되어 있음 관리자 페이지를 구축해야 함.
최소한의 기능만 제공 많은 기능을 제공

 

 

 

장고란?

  • 파이썬으로 만들어진 웹프레임워크
  • 데이터 베이스가 연결되면 db.sqlite3가 생성 됨
  • MVT 패턴

        M (model)

            데이터베이스의 모델(ORM)

            저장되고 사용되는 데이터의 형태

        V (view)

            View와 Model을 이어줌

            실질적으로 프로그램이 동작하는 부분

        T (template)

            사용자에게 보여지는 화면

          *ORM? 

            쿼리를 작성하지 않고 데이터를 수정, 작성, 삭제하도록 도와준다.

            개발자마다 독특한 쿼리문을 사용하는 것을 방지할 수 있다.

            클래스 모델을 만들어 모델이 자동으로 데이터 베이스를 다루도록 도와준다.

            데이터베이스 종류가 바뀌더라도 모델을 사용하므로 프로그램을 수정할 필요가 없다.

          *vs code 사용자라면 SQLite 확장 프로그램을 설치하는 것을 추천한다.

 

 

 

장고의 동작 순서

    User  →  URL →  View  →  Model(ORM)  →  DB  →  Model(ORM)  →  View →  Template  →  User

 

 

Visual Studio Code에서 장고 설치하기

python -m venv venv
venv\Script\activate
pip install django

#<프로젝트명> 바꿔서 사용
django-admin startproject <프로젝트명>  
# conf 디렉터리가 만들어짐
django-admin.py startproject conf .

# 개발환경 서버 실행 (기본 8000)
python manage.py runserver
# 포트 번호 변경시 뒤에 포트번호를 입력
python manage.py runserver 포트번호

#파이썬 최신버전 업그레이드
python -m pip install --upgrade pip

 

 

'Python > Django' 카테고리의 다른 글

05. Django 템플릿  (0) 2023.04.10
04.5 Django 관리자  (0) 2023.04.09
04.Django 모델  (0) 2023.04.09
03. Django URL  (0) 2023.04.07
02. Django 프로젝트와 앱  (0) 2023.04.05

풀 리퀘스트

  • 원격 저장소에 내 변경사항을 풀 하도록 요청
  • 원격 저장소를 가진 사람이 받아들일지 말지를 정함

  


 

 

 

풀 리퀘스트 보내는 방법

    1. (타인의) 저장소를 본인 계정으로 포크하기

    2. 포크한 저장소를 클론하기

    3. 브랜치 생성하여 작업하기

    4. 작업한 브랜치 푸시하기

    5. 풀 리퀘스트 보내기

 

 

1. 포크하여 본인 계정으로 복사해 옵니다.

 

타인의 계정에 push 할 수 없으므로 Fork로 내 계정으로 가져오기

 

2. 복사본을 클론합니다.

 

 

3. 브랜치를 생성하여 작업합니다.

 

 

4. 작업한 내용을 푸시합니다.

 

 

5. 깃허브에 접속하여 풀 리퀘스트 보내기

 

 

 


 

 

풀 리퀘스트를 받아 병합(merge)하기

 

1. 풀 리퀘스트  =>  Merge pull request를 클릭합니다.

 

 

2. confirm merge를 클릭합니다.

 

 

3. 아이콘이 Merged로 바뀌었습니다. 저장소에서 병합된 파일을 확인할 수 있습니다.

 

'Git' 카테고리의 다른 글

[Git] 깃 명령어  (0) 2023.04.16
[Git] 소스트리 패치와 풀  (0) 2023.03.26
[Git] 소스트리 클론과 푸시  (0) 2023.03.26
[Git] 소스트리와 깃허브 연동  (0) 2023.03.26
[Git] 소스트리 브랜치 재배치  (0) 2023.03.26

원격 저장소와 네가지 상호작용

  • 클론(clone) : 깃허브의 파일을 내 컴퓨터로 복제합니다.
  • 푸시(push) : 내 파일을 깃허브에 올리기라고 생각하시면 됩니다.
  • 패치(fetch) : 원격 저장소를 일단 가져만 옵니다. (병합X)
  • 풀(pull) : 원격 저장소를 가져와서 로컬 저장소와 합칩니다.

 

3. 패치(Fetch)

    내 로컬환경과 원격 저장소가 동일하지 않습니다. 내가 작업하는 환경에 영향을 미치지 않고 파일만 가져오고 싶다면 패치를 사용합니다.

 

깃허브에서 파일을 수정해봅시다.

 

내용을 추가하고 commit changes에 커밋 제목과 필요에따라 커밋 내용도 추가합니다.

변경이 끝나면 Commit changes를 클릭합니다.

 

 

이제 소스트리로 돌아갑니다.

패치  =>  확인을 눌러 파일을 가져옵니다.

 

 

origin(가져온 파일)과 main이 나눠져 있는 것을 확인할 수 있습니다.

작업이 끝나고 병합하고 싶다면 'origin에서 가져와 병합하기'를 사용합니다.

 


 

4. 풀(Pull)

    변경사항을 바로 내 로컬 환경에 적용합니다.

 

패치와 마찬가지로 깃허브에서 내용을 변경하고 풀 해보겠습니다.

이번에는 origin과 main이 한 파일에 적용된 것을 확인할 수 있습니다.

'Git' 카테고리의 다른 글

[Git] 깃 명령어  (0) 2023.04.16
[Git] 소스트리 풀 리퀘스트  (0) 2023.03.26
[Git] 소스트리 클론과 푸시  (0) 2023.03.26
[Git] 소스트리와 깃허브 연동  (0) 2023.03.26
[Git] 소스트리 브랜치 재배치  (0) 2023.03.26

원격 저장소와 네가지 상호작용

  • 클론(clone) : 깃허브의 파일을 내 컴퓨터로 복제합니다.
  • 푸시(push) : 내 파일을 깃허브에 올리기라고 생각하시면 됩니다.
  • 패치(fetch) : 원격 저장소를 일단 가져만 옵니다.
  • 풀(pull) : 원격 저장소를 가져와서 로컬 저장소와 합칩니다.

 

1. 클론(clone)

원격 저장소 파일을 로컬로 복제합니다.

복제하고 싶은 깃허브의 주소를 가져오세요.

Code  =>  SSH의 주소를 복사합니다.

 

 

소스트리로 돌아가서 Clone을 클릭합니다.

아래에 복사한 주소를 붙여넣고 탐색을 클릭합니다.

클론 버튼이 활성화 되면 클론 버튼을 누르면 복사가 끝납니다.

 

 

복사한 파일의 .git 폴더까지 같이 복제됩니다.

 

 

main 브랜치와 master 브랜치는 같습니다.

    +깃허브에서 만들어진 master 브랜치의 기본 이름을 main으로 변경했다. 

origin : 원격 저장소의 경로를 지칭하는 별칭 같은 겁니다.

origin/HEAD : origin의 HEAD

origin/main : origin의 main

 

 


 

 

2.푸시(push)

원격 저장소에 밀어넣기습니다.

    1. 원격 저장소를 클론하고 커밋하기

 

클론하면 원격 저장소(깃허브)와 연동됩니다.

 

 

Push 버튼을 눌러 커밋한 내용을 푸시합니다.

 

 

 

    2. 작업한 파일을 새 원격 저장소에 푸시하기

 

커밋을 이미 한 파일들이 존재하며, 이것을 새 저장소에 푸시하고 싶을 때 사용합니다.

먼저 저장소의 주소를 복사합니다.

 

원격 이름을 설정하고 URL에 저장소 주소를 붙여넣습니다.

1번처럼 Push버튼으로 커밋한 내용을 넣어주면 깃허브에서 내 파일을 확인할 수 있습니다.

 

'Git' 카테고리의 다른 글

[Git] 소스트리 풀 리퀘스트  (0) 2023.03.26
[Git] 소스트리 패치와 풀  (0) 2023.03.26
[Git] 소스트리와 깃허브 연동  (0) 2023.03.26
[Git] 소스트리 브랜치 재배치  (0) 2023.03.26
[Git] 소스트리 충돌  (0) 2023.03.26

+ Recent posts