TIL | Django # 1

vel.Ash·2022년 4월 16일
0
post-thumbnail

Django?

파이썬 같은 언어가 아니라 웹 개발을 위해 만들어진 도구

사용하는 방법과 순서가 어느 정도 정해져 있어서 처음 배울 때는 사용법을 익히고 흐름을 이해하는 것이 중요→ 직접 해보는 것이 중요!

개발환경 구성하기

1.VSCode : 텍스트 에디터

2.Homebrew : 프로그램 설치, 관리

-pyenv : 파이썬 설치, 관리
brew install pyenv
-pyenv-virtualenv : 파이썬 가상환경 관리
brew install pyenvvirtualenv

3.파이썬 설치 → pyenv install 3.8.10

(확인 → pyenv versions)

4.가상환경 생성&삭제

-생성 : pyenv virtualenv {파이썬 버전} {가상환경 이름}
예시. pyenv virtualenv 3.8.10 django-envs
→ pyenv versions로 확인가능

$ pyenv versions
* system (set by /Users/sihagwak/.pyenv/version)
  3.10.2
  3.8.10
  3.8.10/envs/django-envs
  django-envs

-삭제 : pyenv uninstall {가상환경 이름}

5.global, local 가상환경 구성

global 가상환경local 가상환경
-시스템 전역에 적용하는 환경-특정 디렉토리 내부에만 적용되는 환경
-따로 지정해주지 않아도 기본적으로 global 환경을 사용-global 환경이 지정되어 있더라도 local 환경이 적용됨
# global 가상환경 구성
$ pyenv global 3.10.2
$ pyenv versions
  system
* 3.10.2 (set by /Users/sihagwak/.pyenv/version)
  3.8.10
  3.8.10/envs/django-envs
  django-envs
# 이렇게 별 붙어있는게 global 환경으로 지정되어 있다는 의미 

# local 가상환경 구성
$ cd ash-django   # 폴더로 들어가서 
$ pyenv local django-envs   # local 가상환경 지정

6.Django 프로젝트 생성하기, 개발서버 실행

# Django 프로젝트 생성하기 
$ django-admin startproject {프로젝트 이름}
$ li  # 폴더 확인 
{프로젝트 이름}     # 프로젝트 이름으로 폴더 생성된 것 확인 가능 
$ cd {프로젝트 이름}
$ code. # VScode로 이 디렉토리 열기 
$ python manage.py runserver    # django 개발서버 실행 
# -> 주소 나오는데 여기서 확인 할 수 있음 

개발서버(Development Server)
runserver로 실행한 서버
→ 보안과 관련된 사항이나 성능을 보장하지 않는 말 그대로 확인용 서버
→ 실제 배포 시에는 개발 서버를 사용하는 것이 아닌 따로 웹 서버를 사용해서 배포

7.Django 앱 생성하기

# Django 앱 생성하기 
$ python manage.py startapp {앱이름}
# 프로젝트 파일 내로 들어가서 생성 

⭐  새로운 앱을 만들면 장고에게 새로운 앱을 만들었다는 사실을 알려줘야함!!
<settings.py>

# Application definition

INSTALLED_APPS = [
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',
    'foods',    # 앱이름 새로 생성하면 장고한테 알려줘야 한다!!!!!! 
]

django의 프로젝트 구조(간단한 설명)

Project Root

가장 바깥쪽에 있는 restaurant 디렉토리
-django 프로젝트의 모든 파일이 담겨 잇는 최상위 디렉토리
-이름을 마음대로 바꿔도 됨

Project App

project 폴더 내 restaurant 디렉토리
-우리 Project의 가장 중심이 되는 App
-설정 파일 등 다른 여러 곳에 쓰이기 때문에 이름을 바꾸면 여러 수정을 해야함

init.py

-디렉토리를 하나의 파이썬 패키지로 인식되게끔 하는 역할을 함
-python 3.3 이상부터는 이 파일이 없어도 패키지로 인식되지만 → 하위버전 호환 위하여

settings.py

-시간대 설정, 데이터베이스 설정, 여러 경로 설정 등
-django 프로젝트의 전반적인 절성을 담당

urls.py

-URL을 보고 알맞은 페이지로 연결해주는 역할
ex. 소개 요청 URL → 소개 페이지(http://ash.kr/about ~)
ex. 로그인 요청 URL → 로그인 페이지(http://ash.kr/login ~)

wsgi.py

-WebServer Gateway Interface, WSGI
-웹 서버와 Python 어플리케이션인 Django가 소통하는데 필요한 일종의 프로토콜

manage.py

우리 프로젝트의 매니저!
-Django 프로젝트 관리를 위한 명령어를 지원
-App 생성, 데이터베이스 관련 명령, 개발서버 실행 등

db.sqlite3

프로젝트에서 사용하는 데이터베이스 파일

Django 내 app(foods 디렉토리) 생성 후

admin.py

-앱을 django 관리자와 연동하기 위해 필요한 설정파일

apps.py

-앱에 대한 설정을 넣어두는 파일

models.py ⭐

-django app에서 사용할 데이터 모델 정의, 데이터베이스 연동과 관련된 파일

views.py ⭐

-서버에 어떤 요청이 들어왔을 때 app의 메인로직 처리(어떻게 처리할지)와 관련된 파일

tests.py

-프로젝트의 테스트 코드를 작성하는 곳

migrations 디렉토리

-데이터베이스의 변경 사항 히스토리 누적

profile
코린이의 개발공부

0개의 댓글