Python & Django

[Django] Django Setting

응디 2021. 8. 25. 13:15

< Django를 쓰는 이유 >

Python의 많은 프레임 워크 중에서 Flask와 Pyramid 가 아닌 Django를 사용 하는 이유는??

  • Flask와 pyramid는 아주 가벼운 프레임 워크로 미니멀하게 꼭 필요한 정도의 기능만 제공한다.
  • 간단한 것들은 Django 보다 빨리 만들수는 있지만 규모가 커질수록 많은 기능들을 차곡차곡 구현해야 하기 때문에 오히려 더 오래걸린다.
  • Django는 그에 비해 거대한 프레임 워크로 많은 기능(관리자 페이지, 사용자 인증 등)을 포함하고 있어 개발 할 때 손이 좀 덜 간다.
  • Django는 많은 기능이 필요로 하는 프로젝트를 진행할때 적합하다.
  • 적은 기능들을 빠르게 구현하는건 Flask, Pyramid 쪽이 나을 수도 있음.

< Setting >

tool 은 pycharm 을 이용하였다.

 

1. project 생성

: cmd나 git bash를 이용하여 project를 생성할 디렉토리에 접속 후 아래 명령어로 프로젝트 생성

# [ project 이름 ] 디렉토리 + manage.py 생성됨 
django-admin startproject [project 이름]

 

project open 예시

 

2. 서버 실행 및 연동 확인

: terminal에서 manage.py 가 있는 디렉토리로 이동 후 아래 명령어 입력

# 실행 후 localhost:8000 에 아래와 같은 화면이 뜨면 연동 성공
python manage.py runserver

실행화면

 

3. 앱 만들기

: 앱은 프로젝트의 구성단위로 보통 기능별로 세분화 한다.

python manage.py startapp [ app 이름 ]

앱 생성 예시

 

4. templates 생성( html 파일 생성 )

: 위에서 생성한 app 디렉토리 하위폴더로 templates 를 생성 후 원하는 html을 생성합니다.

 

 

5. function 생성

: app 안에 views.py에서 동작을 할 수 있게 도와주는 함수 생성

def index(request):
	#request를 받아서 index.html로 return
    return render(request, 'index.html')

 

 

6. url 설계

: url은 해당 url로 접근 시 정의되어있는 함수를 views.py에서 찾아 실행시킨다.

: 함수를 실행시켜야 하기 때문에 app에 있는 views를 import 해줘야함

from django.contrib import admin
from django.urls import path
from app import views

urlpatterns = [
	# localhost:8000/admin/ 접근 시 admin page 열림
    path('admin/', admin.site.urls),
		
	# localhost:8000/ 접근 시 views.py의 index 함수 호출
    path('', views.index, name='index') 
]

 

 

7. 결과 확인

결과 화면 예시