일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
- django widget
- API
- es6
- DRF
- 알고리즘 풀이
- javascript
- Django
- 알고리즘 문제
- Git
- AWS
- js
- form
- 알고리즘
- django rest framework
- 파이썬 알고리즘
- 파이썬
- 알고리즘 연습
- java
- PYTHON
- 백준
- MAC
- web
- c++
- Baekjoon
- react
- Algorithm
- CSS
- django ORM
- HTML
- 장고
- Today
- Total
수학과의 좌충우돌 프로그래밍
[Django] 02. Django 시작, Hello World 출력 본문
안녕하세요 강민성입니다.
이번 시간에는 django의 기초적인 파일들을 살펴보고
작동원리를 알아보며 기본적인 Hello World 를 출력해보도록 하겠습니다.
Django를 시작하자
저번 시간에 만들었던 Django 디렉토리에 HelloWorld 라는 디렉토리를 만들어
이 안에서 실습을 진행하도록 하겠습니다.
여러분은 편한 곳에서 작업하시면 되겠습니다.
매 실습마다 가상환경에서 작업을 진행할 예정이므로
위의 링크를 참고하셔서 진행하시면 되겠습니다.
자세한 설명은 생략하고 가상환경 및 django 설치 후 진행하도록 하겠습니다.
project 만들기
가장 먼저 해야할 일은 project를 만드는 일입니다.
django-admin startproject {project의 이름}
저는 myproject 라는 이름의 project를 만들어보겠습니다.
django-admin startproject myproject
그 결과 myproject라는 디렉토리가 만들어지고,
그 아래 같은 이름을 가진 디렉토리와 manage.py가 만들어지고,
그 안에는 정체를 알 수 없는 많은 파일들이 존재합니다.
이 파일들이 무엇인지는 차차 알아가도록 합시다.
서버 실행시키기
다음으로는 django 서버를 실행시켜보도록 하겠습니다.
그 전에 현재 HelloWorld 디렉토리에 있으니까 myproject 디렉토리로 이동하도록 하겠습니다.
cd myproject
그 후 서버를 커주면,
python manage.py runserver
아래와 같이 http://127.0.1:8000/ 라는 주소가 나오게 되고
내 로컬에서 포트번호 8000으로 접속하면 장고서버로 접속할 수 있다는 의미입니다.
따라서 위의 주소로 들어가보면
로켓모양이 나오고 축하한다는 메세지를 받을 수 있으실겁니다.
control + c 를 통해서 서버를 끌 수 있으니 끄고 이어서 해보도록 합시다.
앱 만들기
다음으로는 앱을 만들어보도록 하겠습니다.
앱이란 프로젝트의 구성 단위로서 여러 앱이 모여서 project를 만듭니다.
물론 하나의 앱으로도 project를 구성할 수 있고요.
앱은 보통 기능별로 세분화하는데 아직은 여러 앱이 필요가 없으므로
하나의 앱으로 진행을 하겠습니다.
앱을 만드는 명령어는 다음과 같습니다.
python manage.py startapp {앱 이름}
저는 myapp 이라는 이름의 앱을 만들어보도록 하겠습니다.
그 결과, 부모 myproject 안에 myapp 이라는 디렉토리가 생겼고
그 안의 여러 개의 파이썬 파일들이 생겼습니다.
이제는 만든 앱을 프로젝트와 연결시켜줘야합니다.
프로젝트에게 등록을 하는 것인데 자식 myproject 안의 settings.py 에서 등록을 할 수 있습니다.
settings.py 안에 보면 INSTALLED_APPS 라는 리스트가 있을 텐데 그 리스트에 추가를 해줍니다.
'{app이름}.apps.{app이름(맨 앞이 대문자)}Config'
html 파일 만들기
이제 화면에 보여질 html 파일을 만들어 줘야 합니다.
이 html 파일은 한 개일 수도 있지만 여러 개의 html 파일이 존재할수도 있기 때문에
templates 라는 디렉토리를 만들고 이 안에 담아줘야 합니다.
templates 의 위치는 위에서 만든 앱 바로 밑에 만들어주면 됩니다.
그리고 templates 안에 원하는 html 을 담아주겠습니다.
저는 Hello World라는 내용을 담은 home.html 을 만들어주었습니다.
동작을 하는 함수 만들기
함수는 myapp 안에 views.py 에서 정의해줄 수 있습니다.
request가 들어왔을 때 home.html 을 불러주는 함수입니다.
자세한 건 뒤에 가서 더 설명드리도록 하겠습니다.
url 설계 하기
이제 url 을 설계해야합니다.
url 설계가 어떤 의미가 있냐면,
해당 url로 접근 시, views.py 에 있는 함수를 실행시키고, 그 함수가 html 파일을 띄워주는 원리입니다.
url 은 자식 myproject 안에 urls.py에서 처리해줄 수 있습니다.
먼저 함수를 실행시켜야 하기 때문에 myapp 에 있는 views 를 import 해줍니다.
다음으로 새로운 path를 추가해주는데
'' 과 같은 상황에서 myapp 안에 views 안에 home 함수를 실행시켜라 라는 의미입니다.
여기서 '' 같은 상황이라는 것은 우리의 주소 뒤에 붙는 내용을 의미합니다.
예를 들어 http://127.0.1:8000/ 라는 주소 뒤에 첫 번째 path 처럼 admin/ 붙여주면 admin page가 열리게 되고.
두 번째 path 처럼 아무것도 붙여주지 않으면 home 함수를 실행해서 home.html 이 열리게 됩니다.
그리고 이 path의 이름은 home 이라고 지정을 해주었습니다.
결과 확인
다시 서버를 실행시키고 웹을 새로고침해주면
우리가 원하던 Hello World 를 확인 할 수 있습니다.
마무리
실습을 따라하다보면 오류가 굉장히 많이 나올 것입니다.
오타도 많이 나고, 여러 가지 이유로 오류가 발생하는데
처음에는 저장하는 습관이 들지않아 오류가 생기는 경우도 많습니다.
파일을 다 수정하신 후에는 꼭 저장하는 거 잊지마시기 바랍니다 :)
'웹프로그래밍 > Django' 카테고리의 다른 글
[Django] 05. queryset 과 method (6) | 2019.02.24 |
---|---|
[Django] 04. model 과 admin (6) | 2019.02.14 |
[Django] 템플릿 언어에 대해 알아보자. (1) | 2019.02.14 |
[Django] 03. 단어 수 세는 프로젝트 (4) | 2019.02.13 |
[Django] 01. 기본환경셋팅, 가상환경 만들기 (9) | 2019.02.13 |