개요
이 게시글은 장고 기반의 웹사이트를 구축하는 과정을 기록한 문서입니다. 장고 튜토리얼 ‘점프투파이썬(https://wikidocs.net/71303)’을 참조하여 작성했습니다.
목표
이번 장에서는 웹사이트 장고 프로젝트의 생성하고 웹사이트에 간단한 문구를 표시해보자
프로젝트 생성
(mysite) C:\Users\yangs\Desktop\django_jump\projects>cd mysite (mysite) C:\Users\yangs\Desktop\django_jump\projects\mysite>django-admin startproject config . |
Config .는 현재 디렉렉토리에 프로젝트를 생성하라는 의미다. 일반적으로 ‘django-admin startproject mysite(프로젝트명)’명령어로 프로젝트를 생성하는데, 이 경우 mysite 디렉터리 내 mysite 디렉터리가 하나 더 있고 그 디렉터리 내 프로젝트 파일이 저장되는 이중 구조로 생성되기 때문이다. 불필요한 레이어를 걷어내기 위해 현재 디렉터리에 프로젝트를 생성했다.
> ../config/settings.py
…
LANGUAGE_CODE = 'ko-kr'
TIME_ZONE = 'Asia/Seoul'
USE_I18N = True
USE_L10N = True
USE_TZ = True
...
프로젝트 생성 후 Language_code와 Time-zone을 한국 기준해주었다.
> 웹 브라우저에서 앱 실행
웹브라우저에서 localhost:8000(127.0.0.1:8000) 주소로 접속하면 성공적으로 장고 프로젝트가 생성된 것을 알 수 있다.
> 앱 생성
장고 프로젝트는 앱들을 포함한다. 현재는 프로젝트만 생성한 상태이니 껍질만 만든 상황이다. 기능을 추가하기 위해선 앱을 생성해주어야 한다.
\Desktop\team6app>django-admin startapp detection |
Detection 앱 디렉토리 생성된 것을 확인할 수 있다.
> ../config/urls.py
from django.contrib import admin
from django.urls import path
from detection import views
urlpatterns = [
path('admin/', admin.site.urls),
path('detection/', views.index)
]
localhost:8000/detection 주소로 들어올 경우 views의 index함수를 실행시키라는 url패턴을 추가해주었다.
> ../detection/views.py
from django.http import HttpResponse
def index(request):
return HttpResponse("안녕하세요. detection page입니다.")
실행되는 views 함수를 정의해주었다. 임의로 안내문구를 나타내도록 했다.
localhost:8000/detection/ 주소로 가면 위와 같은 문구가 정상적으로 뜨는 것을 확인할 수 있다.
URL 분리
위의 config에 detection 앱 관련 url을 추가했다. 하지만 detection 앱의 url 매핑은 추가로 추가될 것인데, 전체 url을 관장하는 config/urls.py 주소에 detection의 url들을 매핑할 경우 url들의 질서가 복잡해진다. 따라서 detection 앱 url들만 따로 분리시켜 모아두는 작업을 진행해보자. 일종의 모듈화한다고 생각하면 된다.
> ../config/urls.py
from django.contrib import admin
from django.urls import path, include
urlpatterns = [
path('admin/', admin.site.urls),
path('detection/', include('detection.urls'))
]
Include 모듈을 import하여 detection 앱의 urls들을 include 해주자. 특정 주소를 제외한 path들은 include로 매핑을 해주어야 한다. 예를 들어 detection/answer, detection/signup/main 과 같이 detection/으로 시작하는 주소는 모두 detection/urls.py 파일을 참조하게 되었다.
> 파일생성 : ../detection/views.py
Detection.urls을 참조하도록 하였으니 detection/urls.py파일을 실제로 만들어주자.
from django.urls import path
from . import views
urlpatterns = [
path('', views.index),
]
위의 path의 경우 최종 url은 ‘localhost:8000/detection/’과 같은 형태를 가지게 된다. 만약 path(‘signup/create/’...)가 추가될 경우, 최종 url은 ‘localhost:8000/detection/signup/create’가 된다.
HTML 화면 띄우기
현재 웹사이트에 들어가면 아래와 같이 단순 문구만 출력되고 있다.
'Research > Django' 카테고리의 다른 글
[django]MDSE_03_웹사이트에 로그인,로그아웃 기능 구현하기 (0) | 2021.11.22 |
---|---|
[django]MDSE_02_CSS으로 세련된 웹사이트 만들기 (0) | 2021.11.22 |
[Django] 점프 투 장고 튜토리얼 - 03-6. 계정생성 (0) | 2021.11.19 |
[Django] 점프 투 장고 튜토리얼 - 03-5. 로그인과 로그아웃 (0) | 2021.11.19 |
[Django] 점프 투 장고 튜토리얼 - 03-4. 답변 개수 표시 (0) | 2021.11.16 |
댓글