훌이
후리스콜링개발
훌이

블로그 메뉴

  • 왈 (iOS APP)
  • Github
전체 방문자
오늘
어제
  • 전체 (171)
    • ⭐️ 개발 (140)
      • JAVA (4)
      • Web (5)
      • iOS & Swift (94)
      • iOS Concurrency (4)
      • Rx (18)
      • Git (6)
      • WWDC (1)
      • Code Refactor (3)
      • Server (1)
    • ⭐️ Computer Science (22)
      • 운영체제 (10)
      • 네트워크 (5)
      • PS (7)
    • 경제시사상식 (8)
    • 기타 등등 (0)

인기 글

최근 글

07-05 04:03

티스토리

hELLO · Designed By 정상우.
훌이
⭐️ 개발/Web

[장고] 장고를 통해 Blog app 생성하는 과정(2) - View&Templates

[장고] 장고를 통해 Blog app 생성하는 과정(2) - View&Templates
⭐️ 개발/Web

[장고] 장고를 통해 Blog app 생성하는 과정(2) - View&Templates

2020. 7. 6. 23:22
728x90
반응형

이제 사용자에게 보여지는 화면을 만들어야 하지 않겠니?!

그러니 이어서 공부해보자!

 

10. urls.py에 home.html을 알리고 설계

* urls.py에 정의되어 있는 url들과 요청으로 들어온 url이 일치한지 URLconf를 통해 분석

from blog import views
#앱 폴더 내의 views를 import 
urlpatterns = [
    path('admin/', admin.site.urls),
    path('', views.home, name="home")
]

* urlpatterns 리스트에 새로운 path 추가

* name은 html 파일 이름과 같게 해준다. (home.html이라고 지을 것)

* 127.0.0.1:8000 접속 시에 home.html 보여줄 것

 

11. view.py

* URLconf에 맞는 요청이 들어오면 view가 home.html을 return해줌 

** view는 model에 저장되어 있는 글(data)을 html에 어떻게 띄울 것인지 고민함

from .models import Blog

def home(request):
    return render(request, 'home.html', {'blogs':blogs})
    #render : 렌더링을 수행해주는 함수 : 템플릿 코드를 템플릿 파일로 해석하는 과정

 

12. blog app 안에 templates 폴더 만들기 - home.html

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>home</title>
</head>
<body>
    <h1>Homepage 입니다.</h1>
</body>
</html>

 

13. views.py에서 데이터 받아오기

from .models import Blog

def home(request):
    blogs = Blog.objects
    #blog 모델 안의 데이터를 blogs라는 변수에 넣어주기
    return render(request, 'home.html', {'blogs':blogs})
    #render : 렌더링을 수행해주는 함수 : 템플릿 코드를 템플릿 파일로 해석하는 과정
    #{} 안의 내용 : blogs 자료를 가져올 때 blogs라는 이름으로 가져온다는 뜻

 

14. home.html에서 변수 받아오기

* template 문법을 사용

* 쿼리셋을 이용하여 객체의 속성만 가져올 것

<body>
    <h1>Homepage 입니다.</h1>

    {% for blog in blogs.all %}
        <div class="container">
            <h1>{{ blog.title }}</h1>
            <p>{{ blog.pub_date }}</p>
            <p>{{ blog.body }}</p>
        </div>
    {% endfor %}
</body>

 

여기까지 결과화면

 

 

내용이 길어지니 그 다음 detail page는 3장에서 쓰겠다!

728x90
반응형
저작자표시 변경금지 (새창열림)

'⭐️ 개발 > Web' 카테고리의 다른 글

[장고] Blog app - 1:N 댓글 기능 구현하기  (0) 2020.07.11
[장고] 장고를 통해 Blog app 생성하는 과정(3) - Detail page  (0) 2020.07.07
[장고] 장고를 통해 Blog app 생성하는 과정(1) - Model&Admin  (2) 2020.07.06
[장고]Mac OS에 장고 설치하고 가상환경 설정하기  (0) 2020.07.05
  • 그러니 이어서 공부해보자!
'⭐️ 개발/Web' 카테고리의 다른 글
  • [장고] Blog app - 1:N 댓글 기능 구현하기
  • [장고] 장고를 통해 Blog app 생성하는 과정(3) - Detail page
  • [장고] 장고를 통해 Blog app 생성하는 과정(1) - Model&Admin
  • [장고]Mac OS에 장고 설치하고 가상환경 설정하기
훌이
훌이

티스토리툴바

단축키

내 블로그

내 블로그 - 관리자 홈 전환
Q
Q
새 글 쓰기
W
W

블로그 게시글

글 수정 (권한 있는 경우)
E
E
댓글 영역으로 이동
C
C

모든 영역

이 페이지의 URL 복사
S
S
맨 위로 이동
T
T
티스토리 홈 이동
H
H
단축키 안내
Shift + /
⇧ + /

* 단축키는 한글/영문 대소문자로 이용 가능하며, 티스토리 기본 도메인에서만 동작합니다.