일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
Tags
- 글쓰기기능
- path converter
- 모델폼
- 템플릿변수
- 랜덤번호
- CRUD
- 템플릿필터
- DjangoUsers
- 장고로그인회원가입
- 파이썬
- extends
- queryset
- DjangoModel
- 템플릿상속
- 쿼리셋
- 장고수정기능
- 장고유저모델
- modelform
- 검색기능
- django
- 장고어드민
- 장고
- DjangoAdmin
- 웹페이지제작
- 템플릿태그
- namespace
- get object or 404
- Python
- detail page 만들기
- 장고모델
Archives
- Today
- Total
하루에는
[Django]MTV 패턴 본문
Overview
- MTV 패턴
- T(Templates)는 유저가 보는 화면에 해당
- V(View)는 기능을 구현하는 부분
- M(Model) 테이블을 정의하는 부분. 장고는 ORM을 제공한다.
- ORM이란: Object-Relational Mapping, SQL 대신 데이터베이스를 쉽게 연결해주는 것
Django
- python 기반 웹 어플리케이션 프레임워크
- MTV 패턴
- admin 기능 제공
- 쉬운 URL 파싱 제공
프로젝트 생성
가상환경
- pip 패키지들을 독립적으로 설치
- 파이썬으로 작성된 패키지 소프웨어를 설치, 관리하는 패키지 관리 시스템
- 파이썬을 설치하면 사용 가능
- 장고도 pip 패키지 중 하나
가상환경 만들기
python -m venv myvenv
가상환경 활성화(가상환경이 있는 디렉터리에서)
. myvenv/Scripts/activate
가상환경이 활성화되면 (myvenv) 가상화활성화된 표시가 뜹니다.
장고 프로젝트 만들기
장고 패키지 설치(가상환경 켠 상태에서)
pip install django
프로젝트 생성
django-admin startproject firstproject
- firstproject 폴더가 두 개 있음
- 상위 폴더 이름 바꾸기 firstproject → first
앱 만들기
-
app은 프로젝트의 구성 단위
-
project는 app들이 모여서 구성
-
project의 기능 하나마다 app을 만들어 주는 것이 좋음
-
manage.py가 있는 폴더에서 만들기
cd first
python manage.py startapp appname
-
settings.py에 앱 등록하기
-
앱은 만들고 나면 settings.py에 항상 등록해줘야 함
-
settings.py의 INSTALLED_APPS에 'appname.apps.AppConfig' 형식으로 작성
app 내의 구조 살펴보기
Hello World 띄워보기
- index.html에 Hello World 띄우기
- templates 폴더 내에 html 파일을 만들어줍니다.
views.py에 기능 구현
- index라는 함수를 만들어줍니다. 이 함수는 요청이 들어오면 index.html 페이지를 띄워주는 역할을 합니다.
- render : 특정 html 페이지를 렌더링, 최대 3개의 인자를 받는다.
- request
- html 파일의 경로(templates 폴더 바로 아래부터)
- html 파일에서 사용할 변수를 딕셔너리 형태로 전달
urls.py에서 url 요청을 views.py로 연결
urls.py는 route입니다. 주소창에 입력된 url에 따라 views.py의 함수를 실행합니다.
urls.py에서 myapp의 views.py에 있는 함수를 사용할 수 있도록 myapp의 views.py를 임포트 합니다.
URL은 view와 template을 이어주는 역할을 하고, 이 부분을 만들어 주는 작업을 URLconf라고 합니다.
path 함수는 3가지 인수를 받습니다.
- route(도메인 뒤에 붙는 url 부분)
- 실행하고자 하는 views.py 안에 정의된 함수
- 이 path의 이름(변수)
서버 run
여기까지 하고 서버를 돌려보겠습니다.
python manage.py runserver
도메인 뒤에 index/를 붙여주면 Hello World가 뜹니다.
템플릿 변수
아까 index 함수에서 정의해준 hello 변수를 html상에 출력해보겠습니다. {{ }} 중괄호 안에 정의해준 변수를 넣으면 됩니다.
그러면 변수가 잘 출력됨을 확인할 수 있습니다.
정리
- M : DB 저장 형태를 설계하는 부분
- T : 사용자에게 보이는 부분
- V : 로직을 설계하고 기능을 구현하는 부분, 데이터를 처리하고 가공하는 부분
- URLconf : 유저가 보는 화면으로 전환해주는 부분. 입력한 도메인에 따라 views.py의 함수를 실행하는 곳
'Python, Django' 카테고리의 다른 글
[Django]장고 Model, admin, Queryset (0) | 2019.11.27 |
---|---|
[Django]템플릿 변수, 필터, 태그 (0) | 2019.11.27 |
[Django]첫 프로젝트 : random number 프로젝트 만들기 (0) | 2019.10.02 |
Django 시작하기 (0) | 2019.10.01 |
[Python]Google Image Download 파이썬으로 구글 이미지 다운로드하기 (0) | 2019.07.31 |
Comments