728x90

웹 서버를 실행하는 명령어의 옵션을 살펴봅시다 기본 웹서버는 8000포트를 기본으로 동작합니다.

포트를 변경하고 싶다면 포트 번호를 인수로 전달 합니다.

 

python manage.py 8080

 

만약 ip를 직접 지정하거나 같은 네트워크 망 안에서 접속이 가능 하도록 하고 싶다면 다음 명령어를 입력할 수 있습니다.

 

python manage.py 0.0.0.0:8000

 

혹은 python manage.py 0:8000

 

이 명령어에서 IP주소 0은 0.0.0.0의 약어입니다. 해당 형태로 동작 시킬 때는 settings.py 에 있는 ALLOWED_HOSTS를 설정해야 합니다.

 

이 경량 웹서버를 이용해 실제 서버에 배포하지 않아도 우리는 웹 서비스의 변경 사항을 테스트 해볼 수 있습니다. 또 서버가 실행 중이어도 소스 코드의 변경 사항은 자동으로 반영되기 때문에 소스 코드를 변경할 때마다 서버를 종료햇다 다시 실행할 필요가 없습니다.

 

웹서버를 종료하고 싶을 때는 Ctrl + c 키를 누르면 됩니다. 다음 단계를 위해 서버를 종료합니다.

 

 

설문조사 앱 만들기

 

프로젝트를 만들고 서버 환경도 확인했으니 앱을 만들겠습니다.

 

-->python manage.py startapp polls 

 

앱을 만들면 생기는 새로운 파일들을 확인 할 수 있습니다.

 

 

첫 번째 뷰 만들기

 

polls/views.py 파일을 열고 코드를 입력합니다.

 

from django.http import HttpResponse


def index(request):
    return HttpResponse("django master 하기 1일차")

 

뷰를 만들면 이 뷰를 호출하기 위한 URL 이 있어야 합니다. URL 연결을 위해 polls 폴더에 urls.py 파일을 만들겠습니다.

 

polls 폴더에 urls.py 파일을 만들어 줍니다.

 

 

urls.py 파일에 다음 코드를 입력합니다.

 

from django.urls import path
from . import views

urlpatterns = [
    path('', views.index, name='index')
]

 

path 함수는 path(route, view, kwargs, name) 형태로 호출합니다. 총 4개의 인수를 받는다는 것을 알 수 있습니다.

 

  • route : 주소를 의미합니다.
  • view : route의 주소로 접근했을 때 호출할 뷰
  • kwargs : 뷰에 전달할 값들입니다.
  • name : route의 이름을 의미합니다. 이 이름을 가지고 원하는 곳에서 주소를 호출해 출력하거나 사용할 수 있습니다.
  • polls 폴더에 있는 urls.py는 앱의 라우팅만 담당합니다. 프로젝트 메인 urls.py 파일에서 연결해줘야 정상 작동합니다.
  • main or config/urls.py 파일을 다음 코드처럼 수정합니다.

 

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

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

 

 

include 는 다른 urls.py 파일을 참조할 수 있도록 합니다. 만약 127.0.0.1:8000/polls/list/ 라는 주소로 접속하면 polls 까지는 

일치하기 때문에 잘라내고 나머지 list/ 부분만 polls/urls.py에서 찾아보는 방식으로 동작합니다.

 

--> python manage.py runserver 명령을 입력해 서버를 실행하고 127.0.0.1:8000/polls/ 라는 주소로 접속해 봅시다. 

polls 앱의 첫 화면을 볼 수 있습니다.

다음 글에서는 데이터 베이스 만들기 부터 시작해 보겠습니다

장고 화이팅

728x90

'Python > python - django' 카테고리의 다른 글

설문조사 앱 만들기2  (0) 2020.12.05
django 시작하기  (0) 2020.12.04