장고 프로젝트 초기 세팅
# 가상 환경 생성 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 |