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