TIL | Django # 1
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 디렉토리
-데이터베이스의 변경 사항 히스토리 누적
Author And Source
이 문제에 관하여(TIL | Django # 1), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@sihaha/TIL-Django-1저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)