일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 31 |
- swift
- 딥러닝
- AI
- IOS
- 기계학습
- view
- Toast Message
- 파이썬
- 디자인패턴
- 템플릿
- python
- model
- ios toast message
- Android
- swift toast message
- 앱
- 모델
- 빅데이터
- Deep learning
- Artificial Intelligence
- toast
- 시각화
- APP
- 인공지능
- 장고
- Django
- 머신러닝
- Pycharm
- BigData
- Machine Learning
- Today
- Total
이끼의 생각
Django Web (11) 장고 뷰 View 본문
지난 편에서 views에서 요청을 처리하는 소스를 구현하지 않아 에러가 발생했습니다. 그래서 urls 가 잘 작동되는지만 알기 위해 Hello World And Blog 문장만 출력했어요.
이번엔 View에 대해서 알아 보겠습니다.
장고 View
뷰(view) 는 애플리케이션의 "로직"을 담당합니다. 뷰는 이전에 만들었던 모델(Model)에서 필요한 정보를 받아와서 템플릿에 전달하는 역할을 합니다. 반대로 템플릿에서 사용자의 요청을 받아 모델이나 웹서버에 구현되어 제공할 수 있는 기능, 서비스들을 가져오기도 합니다.
템플릿은 다음 장에서 만들어 볼 거에요.
뷰는 Python 시작하기 장에서 했던 것보다 어려워보이지만, 파이썬 함수일 뿐이에요.
뷰는 views.py 파일 안에 있어 실제로 View를 views.py 에서 구현할 수 있습니다.
우리는 이제 views를 blog/views.py파일 안에 추가할 거에요.
블로그 앱에 View 구현하기
먼저 만들어볼 내용은 view에서 템블릿인 html 파일을 호출하는 것을 만들어 볼겁니다.
이전에 만들었던 함수를 수정해봅시다.
- 경로 : 프로젝트명/blog/views.py
- 게시글 기준 위치 : IKKIsonDjango/blog/views.py
def post_list(request):
return render(request, 'blog/post_list.html', {})
수정 전
수정 후
원래 의도대로 post_list라는 함수(def)를 만들었습니다. 이 함수는 요청(request)을 넘겨받아 render메서드를 호출합니다. 이 함수는 render 메서드를 호출하여 받은(return) blog/post_list.html 템플릿을 보여줍니다.
이제 파일을 저장하고, http://127.0.0.1:8000/ 로 접속해 확인해보세요.
하하.....에러가 또 발생했네요! 아래 내용을 함께 볼까요?
에러 메시지를 보니.... 말 그대로 템플릿이 존재하지 않아서 발생한 에러군요.
post_list함수에서 호출을 했으나 render 하여 반환할 템플릿이 없습니다.
지금까지 잘 따라 와주셨습니다.
일단 이번 편에서 view에 대해서 알아보는 시간이니 views.py에서 post_list함수가 템플릿 render를 반환하는것까지 알아보았습니다.
다음편에서는 html, 템플릿에 대해 알아보겠습니다.
장고의 Views에 대해 자세히 알고싶으시면 장고 공식문서를 읽어보세요^^
바로가기 => 장고 공식 문서 Views
**출처 및 참고**
[프로그래머스] 정두식님의 장고를활용한 웹사이트만들기 동영상강의
[오픈소스튜로리얼] Quasar Beyond님의 Django : Python WebFrameWork 동영상강의
[장고걸스공식] 이수진님 외. 장고걸스 튜토리얼 한국어번역
'파이썬 장고 웹 프레임워크' 카테고리의 다른 글
Django Web 장고가 무엇인가요? (0) | 2019.05.21 |
---|---|
Django Web (12) HTML 과 장고 템플릿 (0) | 2019.05.21 |
Django Web (10) [실습] 블로그 만들기 - urls (0) | 2019.05.20 |
Django Web (9) 장고 urls (0) | 2019.05.20 |
Django Web (8) 장고 관리자 (어드민, admin) (0) | 2019.05.20 |