Django 용어정리 (페이지 연결하기)

2024. 12. 16. 19:48·용어정리/Django

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
'용어정리/Django' 카테고리의 다른 글
  • Django 용어정리 (HTML Form)
  • Django 용어정리 (Django Template System)
  • Django 용어정리 (Design Pattern)
  • Django 용어정리 (요청과 응답)
코드 유랑자 승열
코드 유랑자 승열
코드 유랑자 승열의 프로그래밍 일지를 남기는 공간입니다.
  • 코드 유랑자 승열
    승열의 프로그래밍 시네마
    코드 유랑자 승열
  • 전체
    오늘
    어제
  • 링크

    • 깃허브 보러가기
    • 링크드인 보러가기
    • 인스타그램 보러가기
    • 카테고리
      • 코딩테스트
        • BaekJoon
      • TIL and WIL
        • TIL
        • WIL
      • 주말스터디
      • 내일배움캠프
        • 사전캠프 강의 (SQL)
      • 용어정리
        • Python
        • Python-Library
        • Machine-Learning
        • Deep-Learning
        • AI 활용
        • LLM & RAG
        • Docker
        • Django
        • SQL
        • Java Script
        • etc
      • Daily 코드카타
        • SQL
        • Python 알고리즘
      • 임시저장
      • 보류
  • 태그

    template
    llm
    RAG
    word2vec
    django
    티스토리챌린지
    langchain
    View
    오블완
    vector db
  • 인기 글

  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.1
코드 유랑자 승열
Django 용어정리 (페이지 연결하기)
상단으로

티스토리툴바