본문 바로가기
Python/Django Ⅲ

(Review) Django 프레임워크 개요와 웹페이지 띄우기 기본예제

by Mr.DonyStark 2024. 5. 24.

□ DJANGO 프레임워크 기본

 ○ Model : DB 테이블을 객체화하여 파일로 저장하는 곳. app 생성시 models.py에서 모델객체 생성을 할 수 있음. 

 ○ View : Model과 Template을 연결하는 부분으로 app 생성시 view.py에서 클래스 기반/함수 기반의 뷰를 작성할 수 있음. 쉽게 표현하면 POST/GET 방식등으로 데이터를 CRUD 할 수 있도록 정의 하는 부분 

    +) Urls.py : app 내 views.py에서 정의한 내용별 웹페이지 URL을 정의(연결)해주는 부분.

 ○ Template  : 사용자에게 보여지는 페이지 파일. HTML/CSS 또는 React 등으로 구성된 파일.

 

사용자 request가 있을시 특정 페이지 띄우기 *model은 다루지 않음

  ● mysite라는 프로젝트와 my_app이라는 앱 생성

  ● https://***.**.**.*/my_app/ 접속시 this is my_app view라는 문구가 출력되도록하고자함

    ○ my_app > Views.py : fbv 즉, 함수형 기반의 뷰를 생성하였고 이 뷰는 index라는 명을 가짐. 사용자 요청시 응답으로 HttpRseponse를 활용해 특정문구 출력

from django.shortcuts import render
from django.http import HttpResponse

#request 요청을 인자로 받고 HTTPRESPONSE 반환
def index(request):
    return HttpResponse("this is My_app view")

 

    ○ my_app > urls.py : Views.py에서 정의한 View를 임포트하여 url 라우팅 후 해당 url에 대한 view를 지정해줌

     * 만약 app명이 "나의앱"이라고 지정 후 생성한 상황에서 urlpatterns의 라우팅 부분을 ""로 기재하면 https://***.**.**.*/나의앱/ 을 의미하는 것임. 물론 앞의 내용과 같이 지정하기 위해서는 app > urls.py 설정후 프로젝트 레벨의 project > urls.py를 지정해줘야함

      - app > urls.py

from django.urls import path
from . import views # . 현재 디렉토리 위치 의미 + views 을 임포트

urlpatterns = [
    path("", views.index, name="index") #""은 기존url/app명 형태를 의미, name은 app view 함수명
]

 

      - project > urls.py

from django.contrib import admin
from django.urls import path, include
from . import views

urlpatterns = [
    path("", views.home_view), #project level urls
    path('admin/', admin.site.urls),
    #paht(라우트, include("app명.urls"))
    path("my_app/", include("my_app.urls")),  #app my_app에대한 url 지정. 
    path("first_app/", include("first_app.urls")),
]

구현완료

 

'Python > Django Ⅲ' 카테고리의 다른 글

(Review) Django CBV  (0) 2024.05.27
(Review) Django Form  (0) 2024.05.27
(Review) Model 생성 및 Create, Read  (0) 2024.05.27
(Review) Django 템플릿 언어  (0) 2024.05.24
(Review) Django 기본 / 동적 뷰  (0) 2024.05.24