Django

Django view 만들기

nyanguk 2021. 1. 17. 21:09

이전 포스트에서 내 프로젝트의 app에 URL을 할당하여 특정 페이지가 뜨도록 하는 것 까지 완성했다. 

이제는 본격적으로 URL에 접속했을때 내가 만든 html파일이 로드 되도록 만들어본다. 

 

 

views.py 수정하기 

 urls.py에서 URL 접속 요청시 views.py의 post_list함수를 불러오라는 코드를 작성했다.

# blog/urls.py
from django.urls import path
from . import views
urlpatterns = [
    path(r'', views.post_list, name='post_list'),
]

그렇다면 views.py에서 앞으로 만들 post_list.html이 post_list함수에서 불러지도록 아래와 같이 코드 작성을 한다.

#blog/views.py
from django.shortcuts import render
# Create your views here.
def post_list(request):
    return render(request, 'blog/post_list.html', {})

 

post_list.html 작성하기

 

blog 
└───templates 
                           └───blog

가장 먼저 blog 안에 templates 라는 디렉토리를 생성하고 그 안에 또 다시 blog 라는 디렉토리를 생성한다.

같은 디렉토리 이름을 가지는 것은 파일을 빨리 찾기 위한 관습이라고 한다.

그 후  post_list.html 파일을 생성하여 자유롭게 작성한다.

<!-- post_list.html -->
<html>
    <head>
        <title>nyanguk의 Django 튜토리얼</title>
    </head>
    <body>
        <div>
            <h1> <a href="">nyanguk의 블로그</a></h1>
        </div>
        <div>
            <p>2021.01.17</p>
            <h2><a href="">첫번째 글</a></h2>
            <p>아이 재밌다</p>
        </div>
        <div>
            <p>2021.01.17</p>
            <h2><a href="">두번째 글</a></h2>
            <p>아이 좋다</p>
        </div>
    </body>
</html>

 

모두 작성했다면  http://127.0.0.1:8000/ 로 들어가 확인 해본다.

잊지 말고 runserver를 실행해주자

ctrl+shift+c를 동시에 누르면 오른쪽에 보이는 것처럼 html 요소들이 보이게 된다. 해당 코드들에 마우스를 올려놓으면 웹페이지의 어떤부분에 해당하는 코드인지 확인 해볼 수 있으므로 한번 해보는 것을 추천한다.

 

 

변경 사항 배포하기 

 

  1. 나의 프로젝트가 변경되었을때 이 변경사항을 적용하여 재배포 해야 한다. 변경 사항들을 복사하여 my-first-blog에 붙여넣어준다. 그다음 이 변경사항들을 레포지토리 my-first-blog에 commit하고 push해준다.
  2. pythonanywhere의 콘솔창에서 git pull을 입력하면 레포지토리에 변경되었던 사항들을 pythonanywhere의 콘솔창에 모두 적용시켜준다. 
  3. reload를 눌러준 뒤 웹페이지에 접속하면 로컬에서 나온 결과와 동일 하게 나온다!