Django를 사용해서 페이지를 추가해보자
URL Patterns
urlpattenrs는 해당 path로 url이 들어오게 되면 해당하는 함수로 연결을 시킨다 라는 뜻이다.
즉 만약 path 가 home 이면 home의 데이터를 불러오는 함수 views.home 을 부르는 식이다.
이는 urls.py의 파일에서 작성을 해야하며 위치는 <프로젝트명> / urls.py 이다.
urlpatterns = [
path("admin/", admin.site.urls),
path("index/", views.index),
path("users/", views.users)
]
해당 리스트에서 path 는 url뒤에 오는 문자열을 의미하며, 해당 문자열이 입력되면, 뒤의 함수를 호출 하는 식이다.
이때 중요한 것은 이 파일은 urls.py이기 때문에 views의 파일의 함수를 들고 오려면 호출을 해야한다.
from articles import views
위의 코드를 작성 함으로써 articles안에 있는 views를 불러오게 된다.
이때의 articles는 startapp으로 생성된 기본의 장고앱 구조를 띄고 있다.
python manage.py startapp articles
Views
views는 Django에서 로직을 담당하고 있다.
views파일의 위치는 <장고앱이름> / views.py 이다.
views에서는 함수 또는 클래스를 설정 할 수 있는데,
지금은 함수로 해보겠다.
기본적으로 함수와 클래스의 장 단점을 똑같이 가지고 있으므로 본인에 맞는 코드를 작성하는 것이 중요 할 것 같다.
우선 이전의 코드에서 index를 연결 해 보겠다.
def index(request):
return render(request, "index.html")
이 코드는 index를 호출하게 되면, request와 index.html을 같이 응답하는 함수이다.
이 render는 html의 파일을 전송하는 함수라고 보면 될 것이다.
Template
template는 html의 파일을 저장하는 장소이다.
이는 위의 코드에서 render를 사용하여 index.html을 같이 호출하지만 정작 index.html의 작성을 하지 않았음을 알 수 있다.
이때 이러한 index.html의 파일 저장을 templates폴더에 하게 된다.
templates 폴더는 기본 구조에 없으므로 새로 생성 해 줘야 한다.
위치는 <장고앱 이름> 하위에 templates 라는 폴더를 생성 해 주면 된다.
어떻게 내가 생성한 templates 폴더에 생성한 html을 알아서 찾을수 있을가? 라는 질문을 할 수 있다.
위의 사진은 setting.py의 코드 중 일부이다.
여기서 APP_DIRS 가 True로 되어 있는 것을 알 수 있다.
이는 app_dirs에서 찾아서 실행을 시키라는 의미이다.
즉 index.html을 templates 폴더를 생성해서 넣어두면 이는 장고앱 하위에 있으니 app_dirs를 통해서 찾아져서 실행이 되는 것이다.
이때 실행은 이렇게 할 수 있다.
python manage.app runserver
'용어정리 > Django' 카테고리의 다른 글
Django 용어정리 (HTML Form) (0) | 2024.12.17 |
---|---|
Django 용어정리 (Django Template System) (1) | 2024.12.16 |
Django 용어정리 (Design Pattern) (1) | 2024.12.16 |
Django 용어정리 (요청과 응답) (0) | 2024.12.16 |
Django 용어정리 (클라이언트와 서버) (0) | 2024.12.16 |