[장고]

[Django] 장고 처음 시작하기

danhan 2022. 6. 30. 01:39

장고 프로젝트 초기 세팅

# 가상 환경 생성
python -m venv myvenv

# 가상환경 실행
# 터미널을 git bash로 설정
source myvenv/Scripts/activate

# 장고 설치
pip install django

# 장고 프로젝트 생성
# django-admin startproject 프로젝트 이름
django-admin startproject myproject

서버 잘 돌아가는지 확인

# 서버 켜기
cd myproject/
python manage.py runserver

# 서버 끄기
ctrl + c

앱 생성

# 앱 생성
python manage.py startapp myapp

# 앱 등록
# myproject/settings.py에 'myapp', 추가
INSTALLED_APPS = [
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',
    'myapp',
]

html 생성

# myproject/myapp 아래에 templates 폴더 생성
# myproject/myapp/templates 안에 first.html 생성
# first.html 안에 <h1>first 페이지</h1> 같은 임시 코드 작성

# myproject/myapp/view.py에 함수 추가
# 요청이 왔을 때 first.html을 찍어보내줘라(렌더링)
def first(request):
    return render(request, 'first.html');

url 연결

from django.contrib import admin
from django.urls import path
# 잊지 말고 import 해주기
from myapp import views

urlpatterns = [
    path('admin/', admin.site.urls),
    # <http://127.0.0.1:8000/> 일 때 myapp의 views 파일에 home 함수를 실행해라
    path('', views.first),
]
  • http://127.0.0.1:8000/ 주소를 받으면 myapp.views.home 함수가 실행된다.
  • 이 함수는 request와 함께 first.html 파일을 return 한다

웹서비스의 동작과정

서비스 사용자가 웹서비스 주소 http://127.0.0.1:8000/ 를 입력한다.

→ 웹서비스로 http request 가 날라온다.

→ http request를 토대로 urls.py의 urlpatterns에서 해당 url이 있는지 없는지 검사한다.

→ 있다면 어떤 함수를 실행시킬지 찾는다.

     http://127.0.0.1:8000/에 해당하는 함수는 myapp의 views.py의 first 함수이다.

→ view.py의 first 함수를 실행한다.

     first 함수는 first.html 파일을 렌더링해 화면에 띄운다.

→ 웹에 first.html 파일 내용이 뜬다.

'[장고]' 카테고리의 다른 글

[Django] Template 상속  (0) 2022.06.30
[Django] Static 파일 관리하기  (0) 2022.06.30
[Django] URL 매핑 - include를 이용한 url 계층 관리  (0) 2022.06.30