-
[django 복습] 기초 ~ helloworld 띄우기Development/Django 2021. 2. 23. 17:45
가상 환경
만들기 python -m venv myvenv[이름]
키기 source myvenv/Scripts/activate
끄기 deatcivate
pip install django
첫 번째 Django 프로젝트 시작하기
django-admin startproject firstsite[이름]
→ firstsite 상위폴더 안에 firstsite 하위폴더 생김. 헷갈리니까 상위폴더 이름을 firstsiteproject로 바꿔 주자~
→ 그리고 firstsiteproject 상위폴더 안으로 이동하자~
Django 서버 작동시키기
python manage.py runserver
끄기 ctrl+C
내가 만든 페이지를 웹에 띄우는 작업 해보자!
app 만들기 (manage.py 있는 폴더에서)
python manage.pystartapp hello[이름]
settings.py → project에게 app의 존재 알리기
templates → views.py에서 처리된 데이터를 받아, 사용자에게 화면을 보여줌
views.py → 데이터를 처리하는 함수 작성
urls.py → 요청에 맞는 함수를 views.py에서 찾아 요청 전달
settings.py → templates → views.py → urls.py 순으로 연결하는 작업하는거!!**
1. project에 app의 존재 알리기 : settings.py
# Application definition INSTALLED_APPS = [ 'hello.apps.HelloConfig', #얘를 추가해줘!!! (hello: 앱이름) 'django.contrib.admin', 'django.contrib.auth', 'django.contrib.contenttypes', 'django.contrib.sessions', 'django.contrib.messages', 'django.contrib.staticfiles', ]
2. templates 만들기
app폴더(hello) 안에 templates 폴더를 만들고 그 안에 home.html 파일을 만들어주자.
3. 앱 기능 구현하기!! : views.py에 함수 만들어
views.py → 앱의 기능을 구현하는 부분(함수로).
from django.shortcuts import render #create your views here. def home(request): return render(request, 'home.html')
→ 요청이 들어오면 home.html 파일을 열어준다는 home이라는 함수 구현함.
html파일(template)을 연결하기 위해 사용하는 이런 함수가 기본!!!
4. url 요청을 views에 연결하기 : urls.py
from django.contrib import admin from django.urls import path import hello.views //urls.py에서 hello폴더 안의 views.py를 읽어와야하니 import urlpatterns = [ path('admin/', admin.site.urls), path('', hello.views.home, name='home'), // ]
path는 3가지 인수를 받는다!!!
첫번째 인수 - 도메인 뒤에 붙는 url
두번째 인수 - 연결하고 싶은! views 안에 정의된 함수
세번째 인수 - 이 path이름을 home이라 하겠다!!!!! django플젝 어디서든 home이라고 불러서 호출 가능 (가능한 함수 이름과 path의 name 일치시켜주는게 ..)
정리!!!!!!!!!!!!!!!!!!!
1. project 만들고
2. app 만들고
3. project에 app 연결하고
4. app에서 templates폴더를 만들고, 그 안에 html파일(template)만들고
5. app에서 views.py 만들고
6. urls.py에서 templates안의 html 파일과 연결해주는 과정!!
(urls.py - 연결 - views.py - 연결 - html(template))
그 결과 서버 돌리면 -> helloworld가 나타남!
'Development > Django' 카테고리의 다른 글
[django 복습] MTV 패턴(이론) (0) 2021.02.23