가상환경 생성
python -m venv [가상환경이름]
Django 설치
pip install django
Django 버전 확인
python -m django --version
Django 프로젝트 생성
- 프로젝트 생성
django-admin startproject [프로젝트명]
- 프로젝트명에 django 또는 test(python 패키지 이름중 하나) 사용은 피할 것.
- 서버 실행
- 프로젝트 디렉터리 접속
python manage.py runserver
- 서버 접속
- 주소창에 127.0.0.1:8000 또는 localhost:8080 입력
- 프로젝트 구조
projectName/
manage.py
mysite/
__init__.py
settings.py
urls.py
wsgi.py
- projectName/ : 단순히 프로젝트를 담는 디렉토리. Django와 직접적인 연관이 없으며, 자유자재로 이름 변경 가능
- manage.py : Django 프로젝트와 다양한 방법으로 상호작용하는 커맨드라인의 유틸리티.
- mysite/ : 프로젝트를 위한 실제 Python 패키지들이 저장되어있는 공간. 이 디렉터리 내의 이름을 이용해(mysite.urls와 같은) 프로젝트 어디서나 Python 패키지들을 import 할 수 있음
- _ _ init _ _.py : Python으로 하여금 이 디렉토리를 패키지처럼 다루라고 알려주는 용도의 단순한 빈 파일
- urls.py : 현재 Django 프로젝트의 URL 선언. Django로 작성된 사이트의 목차라고 표현할 수 있음.
- wsgi.py : 현재 프로젝트 서비스를 하기 위한 WSGI 호환 웹 서버의 진입점.
Django App 생성
-
프로젝트 디렉터리 접속
-
python manage.py startapp [앱이름]
-
Django에서 App이란 웹사이트를 기능별로 분류해놓은 단위를 뜻함.
-
urlpatterns: 서버에 요청이 들어온 경우, 담당자 지정.
path(‘주소’, ‘주소에서 실행될 명령어’)
-
ex1) path(‘admin/’, admin.site.urls)
- localhost:8000/admin → admin 페이지 이동
-
ex2) path(‘’, include(‘AppHuni.urls’))
-
localhost:8000/
→ AppHuni 앱의 urls.py로 이동.
-
AppHuni/urls.py
urlpatterns = [ path('', views.index) ]
→ AppHuni의 views.py로 이동해 index 함수 실행
-
AppHuni/views.py
from django.shortcuts import render from django.http import HttpResponse def index(request): return HttpResponse("Hello World")
→ urls.py 에서 views.py의 index 함수에 접근해 “Hello World”의 값을 웹 브라우저에 출력함.
-
-
Project와 App의 차이점
App은 블로그나 공공 기록물을 위한 데이터베이스나, 간단한 설문조사와 같은 특정한 기능을 수행하는 웹을 의미한다. Project는 이런 특정 웹 사이트를 위한 app들과 각 설정들을 한 곳에 묶어놓는 역할을 한다. Project는 다수의 app을 포함할 수 있고, app은 다수의 project에 포함될 수 있다.
donate.html