Django 첫번째 장고앱 작성하기

DONGHYUN KOO·2020년 8월 28일
0

Django

목록 보기
3/9

$ python -m django --version: 장고 설치 및 버전을 확인한다

만약 설치가 되어있지 않다면 $ python -m pip install Django으로 설치를 진행한 후 작업을 진행합니다.

1.프로젝트 만들기

커맨드라인에서 cd 명령으로 코드를 저장할 디렉토리로 이동 한 후, 다음의 명령을 수행합니다.

$ django-admin startproject mysite:현재 디렉토리에서 mysite라는 디렉토리를 생성

mysite 디렉토리를 생성한 후 tree 라는 명령어를 통해 startproject에 무엇이 생성 되는지를 확인할수 있다

mysite/
    manage.py
    mysite/
        __init__.py
        settings.py
        urls.py
        asgi.py
        wsgi.py
        ```

manage.py: Django 프로젝트와 다양한 방법으로 상호작용 하는 커맨드라인의 유틸리티 입니다.

mysite/ 디렉토리 내부에는 프로젝트를 위한 실제 Python 패키지들이 저장됩니다.이 디렉토리 내의 이름을 이용하여, (mysite.urls 와 같은 식으로) 프로젝트의 어디서나 Python 패키지들을 임포트할 수 있습니다.

mysite/init.py: Python으로 하여금 이 디렉토리를 패키지처럼 다루라고 알려주는 용도의 단순한 빈 파일입니다.

mysite/settings.py: 현재 Django 프로젝트의 환경 및 구성을 저장합니다. Django settings에서 환경 설정이 어떻게 동작하는지 확인할 수 있습니다.

mysite/urls.py: 현재 Django project 의 URL 선언을 저장합니다. Django 로 작성된 사이트의 "목차" 라고 할 수 있습니다.

mysite/asgi.py: An entry-point for ASGI-compatible web servers to serve your project

mysite/wsgi.py: 현재 프로젝트를 서비스하기 위한 WSGI 호환 웹 서버의 진입점입니다

개발서버

Django 프로젝트가 제대로 동작하는지 확인해 봅시다. mysite 디렉토리로 이동하고, 다음 명령어를 입력


Performing system checks...

System check identified no issues (0 silenced).

You have unapplied migrations; your app may not work properly until 
they are applied.
Run 'python manage.py migrate' to apply them.

8월 03, 2020 - 15:50:53
Django version 3.0, using settings 'mysite.settings'
Starting development server at http://127.0.0.1:8000/
Quit the server with CONTROL-C


설문조사 앱 만들기

$ python manage.py startapp polls

polls라는 디렉토리가 생겼습니다. 이걸 펼쳐놓으면 아래와 같습니다.

polls/
    __init__.py
    admin.py
    apps.py
    migrations/
        __init__.py
    models.py
    tests.py
    views.py

이 디렉토리 구조는 투표 어플리케이션의 집이 되어줄 것입니다.

첫 번째 뷰 작성하기
첫 번째 뷰를 작성해봅시다. "polls/view.py"를 열어 다음과 같은 파이썬 코드를 입력합니다

polls/view.py
from django.http import HttpResponse

def index(request):
    return HttpResponse("Hello, world. You're at the polls index.")

```python
$ python -m django --version: 장고 설치 및 버전을 확인한다.

만약 설치가 되어있지 않다면 $ python -m pip install Django으로 설치를 진행한 후
작업을 진행합니다.

1.프로젝트 만들기
커맨드라인에서 cd 명령으로 코드를 저장할 디렉토리로 이동 한 후, 다음의 명령을 수행합니다.

$ django-admin startproject mysite:현재 디렉토리에서 mysite라는 디렉토리를 생성

mysite 디렉토리를 생성한 후 tree 라는 명령어를 통해 startproject에 무엇이 생성 되는지를
확인할수 있다

mysite/
    manage.py
    mysite/
        __init__.py
        settings.py
        urls.py
        asgi.py
        wsgi.py

manage.py: Django 프로젝트와 다양한 방법으로 상호작용 하는 커맨드라인의 유틸리티 입니다. 
mysite/ 디렉토리 내부에는 프로젝트를 위한 실제 Python 패키지들이 저장됩니다. 
				이 디렉토리 내의 이름을 이용하여, (mysite.urls 와 같은 식으로) 프로젝트의 어디서나 
				Python 패키지들을 임포트할 수 있습니다.
mysite/__init__.py: Python으로 하여금 이 디렉토리를 패키지처럼 다루라고 알려주는 용도의 단순한 
										빈 파일입니다.
mysite/settings.py: 현재 Django 프로젝트의 환경 및 구성을 저장합니다. 
										Django settings에서 환경 설정이 어떻게 동작하는지 확인할 수 있습니다.
mysite/urls.py: 현재 Django project 의 URL 선언을 저장합니다. Django 로 작성된 사이트의 
								"목차" 라고 할 수 있습니다.
mysite/asgi.py: An entry-point for ASGI-compatible web servers to serve 
								your project
mysite/wsgi.py: 현재 프로젝트를 서비스하기 위한 WSGI 호환 웹 서버의 진입점입니다

개발서버
Django 프로젝트가 제대로 동작하는지 확인해 봅시다. mysite 디렉토리로 이동하고, 다음 명령어를 입력

$ python manage.py runserver

Performing system checks...

System check identified no issues (0 silenced).

You have unapplied migrations; your app may not work properly until 
they are applied.
Run 'python manage.py migrate' to apply them.

8월 03, 2020 - 15:50:53
Django version 3.0, using settings 'mysite.settings'
Starting development server at http://127.0.0.1:8000/
Quit the server with CONTROL-C.

설문조사 앱 만들기

$ python manage.py startapp polls

polls라는 디렉토리가 생겼습니다. 이걸 펼쳐놓으면 아래와 같습니다.

polls/
    __init__.py
    admin.py
    apps.py
    migrations/
        __init__.py
    models.py
    tests.py
    views.py

이 디렉토리 구조는 투표 어플리케이션의 집이 되어줄 것입니다.

첫 번째 뷰 작성하기
첫 번째 뷰를 작성해봅시다. "polls/view.py"를 열어 다음과 같은 파이썬 코드를 입력합니다

polls/view.py
from django.http import HttpResponse

def index(request):
    return HttpResponse("Hello, world. You're at the polls index.")

Django에서 가장 간단한 형태의 뷰입니다. 뷰를 호출하려면 이와 연결된 URL 이 있어야 하는데, 
이를 위해 URLconf가 사용됩니다.
polls 디렉토리에서 URLconf를 생성하려면, urls.py라는 파일을 생성해야 합니다

polls/urls.py

from django.urls import path

from . import views

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

다음 단계는, 최상위 URLconf 에서 polls.urls 모듈을 바라보게 설정합니다. 
mysite/urls.py 파일을 열고, django.urls.include를 import 하고, urlpatterns 리스트에
include() 함수를 다음과 같이 추가합니다.(mysite/mysite 위치)

mysite/urls.py

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

urlpatterns = [
    path('polls/', include('polls.urls')),
    path('admin/', admin.site.urls),
]
include() 함수는 다른 URLconf들을 참조할 수 있도록 도와줍니다. 
Django가 함수 include()를 만나게 되면, URL의 그 시점까지 일치하는 부분을 잘라내고, 
남은 문자열 부분을 후속 처리를 위해 include 된 URLconf로 전달합니다.

include()에 숨은 아이디어 덕분에 URL을 쉽게 연결할 수 있습니다. 
polls 앱에 그 자체의 URLconf(polls/urls.py)가 존재하는 한, "/polls/", 또는
 "/fun_polls/", "/content/polls/"와 같은 경로, 또는 그 어떤 다른 root 경로에 
연결하더라도, 앱은 여전히 잘 동작할 것입니다.

index 뷰가 URLconf에 연결되었습니다. 잘 작동하는지 확인하기 위해 다음 명령을 입력

$ python manage.py runserver

브라우저에서 http://localhost:8000/polls/를 입력하면 index 뷰에 정의한 
"Hello, world. You're at the polls index." 가 보일 것입니다.

0개의 댓글