본문 바로가기
App Programming/Django

[Django] URL's / Views

by goatlab 2023. 2. 1.
728x90
반응형
SMALL

URL's

 

인터넷의 모든 페이지에는 고유한 URL이 필요하다. 프로그램은 해당 URL을 여는 사용자에게 무엇을 표시해야 하는지 알 수 있다. 장고에서는 URLconf (URL 구성)라는 것을 사용한다. URLconf는 장고가 올바른 보기를 찾기 위해 요청한 URL과 일치하도록 시도하는 패턴의 집합이다.

 

프로젝트 이름으로 생성한 폴더에서 setting.py에 다음을 추가한다.

 

# Application definition
INSTALLED_APPS = [
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',
    
    'base.apps.BaseConfig',
]

 

그 다음, urls.py을 다음과 같이 작성한다.

 

from django.contrib import admin
from django.urls import path
from django.http import HttpResponse

def home(request):
    return HttpResponse('Home page')

urlpatterns = [
    path('admin/', admin.site.urls),
    path('', home),
]

from django.contrib import admin
from django.urls import path
from django.http import HttpResponse

def home(request):
    return HttpResponse('Home page')

def room(request):
    return HttpResponse('ROOM')

urlpatterns = [
    path('admin/', admin.site.urls),
    path('', home),
    path('room/', room),
]

 

Views

 

view는 일반적으로 특정한 기능을 제공하고 특정한 템플릿을 가진 Django 애플리케이션에 있는 웹 페이지의 “type”이다.

 

루트를 빠르게 가져오기 위해 base 폴더에 urls.py를 만든다.

 

from django.urls import path
from . import views

urlpatterns = [
    path('', views.home, name = "home"),
    path('room/', views.room, name = "room")
]

 

그 다음, base 폴더의 views.py를 다음과 같이 작성한다.

 

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

# Create your views here.
def home(request):
    return HttpResponse('Home page')

def room(request):
    return HttpResponse('ROOM')

 

include 함수를 사용하여 base에 작성한 url을 라우팅한다.

 

# 프로젝트 폴더
from django.contrib import admin
from django.urls import path, include

urlpatterns = [
    path('admin/', admin.site.urls),
    path('', include('base.urls'))
]

 

728x90
반응형
LIST

'App Programming > Django' 카테고리의 다른 글

[Django] Admin (Room)  (0) 2023.02.17
[Django] 템플릿 (Templates) (2)  (0) 2023.02.02
[Django] 템플릿 (Templates) (1)  (0) 2023.02.01
[Django] 환경 설정  (0) 2023.02.01
장고 (Django)  (0) 2023.01.31