Django

[Django] 3. Start Django Project

개발자 뭄뭄 2022. 9. 2. 17:38
반응형

1. 프로젝트 시작하기


  • 가상환경 세팅하기
$ django-admin startproject firstpjt .
$ python manage.py runserver
  • urls.py : 사이트의 url과 적절한 view 연결
  • wsgi.py : 추후 배포시에 사용
  • manage.py : django project와 다양한 방법으로 상호작용하는 커맨드 유틸리티

다음의 경로 http://127.0.0.1:8000/ 로 접속하면, 화면은 좌측과 같이 나오게 된다.

2. 애플리케이션(App) 생성


Django 에는 다양한 앱을 생성하는데, 한 앱당 한가지 기능을 구별해서 담당하기 위함이다.

$ python manage.py startapp articles

project의 settings.py“installed_apps” (33줄) → 생성된 어플리케이션 이름을 추가한다.
🚫
1. 반드시 애플리케이션 생성후 → settings.py에 추가해야 한다. 2. installed_apps 부분에는 Local apps, Third party apps, Django apps로 구분해서 순서를 지킨다.
  • apps.py : 앱의 정보가 저장되는 곳
  • models.py : 애플리케이션의 모델 정의. MTV
  • tests.py : 프로젝트의 테스트코드 작성
  • views.py : view 함수들이 정의되는 곳. MTV

3. 요청과 응답


  1. project의 urls.py
from django.contrib import admin
from django.urls import path

# 새로운 app으로부터 views를 추가한다.
from articles import views


urlpatterns = [
    path('admin/', admin.site.urls),
    # 화면 추가(경로, 해당 경로를 추가해줄 views.py의 함수 이름)
    path('index/', views.index),
]

  1. app의 views.py
from django.shortcuts import render

# Create your views here.
# 위에서 사용하기로 한 views.py의 index 함수를 작성한다.
def index(request):
    # request : 사용자의 요청 정보가 담겨있다.
    # render는 사용자에게 보여줄 화면 html 파일이름
    return render(request, "index.html")

cf) render()

render(request, template_name, context)
# request : 요청 객체
# template_name : 템플릿 전체 이름 혹은 템플릿 경로
# context : 딕셔너리로 작성

  1. app > templates 폴더 > index.html 문서 생성
  • 폴더 이름은 반드시 ‘templates’ 로 해야 한다.

cf) settings.py의 108번째 줄

# Internationalization
# https://docs.djangoproject.com/en/3.2/topics/i18n/

# 모든 사용자에게 제공되는 번역. USE_I18N이 True 여야 한다.
# 한국어 사용시, LANGUAGE_CODE = 'ko-kr'
LANGUAGE_CODE = 'en-us'

# 데이터 베이스의 시간이 필요할 때, 바꿔준다. USE_TZ = True 여야 한다.
# 한국은 TIME_ZONE = "Asia/Seoul"
TIME_ZONE = 'UTC'

# django 의 번역시스템을 활성화 할 지 여부 결정
USE_I18N = True

# 데이터의 지역화 된 형식을 기본적으로 활성화 할지 여부 결정
USE_L10N = True

# datetimes가 기본적으로 시간대를 인식하는지 여부를 결정
USE_TZ = True

Uploaded by N2T

반응형