룰루랄라 코딩기록장
[Django]Weekly1-3 Hello World 실습 본문
Hello World 실습
-
기본환경 셋팅
- 가상환경 설치
python -m venv <가상환경이름>
- 실행
source <가상환경이름>/Scripts/Activate
- Django 설치
pip install django
- Project 생성
django-admin startproject <프로젝트이름>
- 두 폴더의 이름이 같아서 진행하는데 혼동이 있을 수 있기 때문에 폴더 이름을 변경해줍니다.
- 터미널에 'cd'명령어를 사용하여 프로젝트 폴더로 이동합니다.
cd djangoproject
- myproject -> djangoproject로 변경, 이 때 하위폴더 이름을 변경하면 서버가 작동되지 않으니 유의하세요.
- 동작이 되는지 확인해 보기 위해서 서버를 작동시켜봅니다.
아래 사진처럼 나오면 정상적으로 서버가 켜진겁니다.python manage.py runserver
https://127.0.0.1:8000
- 사용자의 로컬 환경에서 접속하는 도메인입니다.
- 127.0.0.1 - 본인 컴퓨터를 의미합니다.
- 8000 - Default로 적용되는 포트번호입니다.
서버 종료 ctrl + c
- 가상환경 설치
Hello World 출력
-
App 생성
python manage.py startapp myapp
-
myapp이라는 app를 생성한 후 templates폴더를 생성하여 home.html을 생성합니다.
home.html <h1>Hello World</h1>
-
h1태그를 사용하여 사용자에게 보여줄 메세지를 입력합니다.(사진에는 생략)
-
-
setting.py 설정
- project폴더의 setting.py에 우리가 사용할 app를 설정해야 합니다.
- setting.py로 들어가서 INSTALLED_APPS에 밑에 코드를 추가시킵니다.
'myapp.apps.MyappConfig',
- myapp폴더의 apps에서 MyappConfig객체를 가져온다는 의미입니다.
- 실제로 app폴더의 apps.py를 확인해보면 MyappConfig클래스가 정의된 것을 확인할 수 있습니다.
-
views.py 설정
- 이제 우리는 어떤 상황에서 어떻게 html파일을 불러올지 결정하는 함수를 작성해야 합니다. 그 역할은 views.py에서 관리하고 있습니다.
- myapp 폴더의 views.py로 들어와서 아래와 같이 입력해줍니다.
def home(reuqest): return render(request,'home.html')
- 위 함수는 request가 들어왔을 때 home.html을 반환 즉 사용자에게 보여주라는 의미이다.
- 위 함수는 request가 들어왔을 때 home.html을 반환 즉 사용자에게 보여주라는 의미이다.
-
url.py 설정
- 사용자가 우리가 만든 html에 어떤 URL로 접근해야 하는지 설정해야한다.
- home.html을 처리하는 함수는 views.py에 정의했기 때문에 url.py에 views.py를 import시켜야 한다.
import myapp.views
- 다음으로 urlpatterns에 새로운 URL을 추가시킨다.
path('',myapp.views.home, name='home'),
- path는 세가지의 인자를 가집니다.
- 도메인 뒤의 url
- ''는 아무 설정도 하지 않았기 때문에 기본 도메인 접속시 home이 보여집니다.
- 먼저 정의되있던 admin같은 경우 도메인 뒤에 '/admin' 을 입력해주면 admin사이트로 이동됩니다.
- 내가 연결시킨 views에 정의된 함수.
- myapp폴더의 views에서 home이라고 정의된 함수를 수행합니다.
- path의 이름
- 프로젝트 어디에서도 home이라는 이름으로 불러 호출할 수 있습니다. views에서 정의된 함수의 이름과 일치시킵니다.
- 프로젝트 어디에서도 home이라는 이름으로 불러 호출할 수 있습니다. views에서 정의된 함수의 이름과 일치시킵니다.
- 도메인 뒤의 url
- path는 세가지의 인자를 가집니다.
실행 결과
- 서버를 작동시킨 후 https://127.0.0.1:8000를 클릭하여 페이지로 접속해보면 Hello World가 정상적으로 보여지는 것을 확인할 수 있습니다.
'LikeLion > Djaongo' 카테고리의 다른 글
[Django]Weekely2_Wordcount1_2 (0) | 2019.04.16 |
---|---|
[Django]Weekely2_Wordcount (0) | 2019.04.16 |
[Django]Weekly1.5 MTV (0) | 2019.04.04 |
[Django]Weekly1-2 Hello World 이론 (0) | 2019.04.02 |
[Django]Weekly1-1 기본환경 셋팅 (0) | 2019.04.02 |
Comments