Django
백엔드 프레임 워크
모듈
소프트웨어 코드의 일부를 재사용 하기 위한 작은 단위
변수,함수,클래스,파이썬에서의 모듈은 .py
라이브러리
소프트웨어 개발에 자주 사용되는 기능을 모아 재사용성을 높이는 도구
모듈의 집합으로 구성됨, 별도의 설치과정 필요
프레임워크
애플리케이션의 구조,규칙 틀을 제공
개발자가 애플리케이션 개발에 집중 할 수 있또록 돕는 도구,
특정 도메인에 특화된 기능 제공
ex)Django,Flask 등등..
- 모듈
- 코드의 일부를 재사용하기 위한 작은 단위
- 라이브러리
- 자주사용되는 기능을 모아 재사용성을 높인 도구
- 프레임워크
- 애플리케이션 개발에 지원하는 구조와,규칙을 제공
- 관리자 페이지 admin제공
- 보안 기능 기본 제공
Django
클라이언트가 서버에게 필요한 정보를 요청(Request)
서버는 요청이 들어온 API를 확인하고 그에 맞는 HTML 혹은 data를 응답(Response)
- Flask,Pyramid
- 경량 프레임워크
- 서버를 만들기 위한 최소한의 기능만 제공
- 로그인,DB등의 관리를 직접 해주어야 한다.
- 관리자 페이지 구축을 따로 해주어야 한다.
- Django
- 거대한 프레임워크
- 서버를 만들기 위한 다양한 기능제공
- 많은 유틸(기능)들이 이미 만들어져 있음
- DB,로그인,Admin,패스워드,암호화 등 이미지 제공
- 커뮤니티 문서가 잘 되어 있다.
사용자 > URL요청 > View > Model(ORM) > DB
DB > Model > Template(생략가능) > 사용자
- Model
- 데이터 베이스의 모델(ORM)
- 저장하고 사용되는 형태
- Template
- 사용자에게 보여지는 부분,화면
- View
- 프로그램이 동작하는 부분
- 서비스들이 존재하는곳
- ORM
- 데이터 베이스의 형태를 클래스 형태로 보여준다.
- 쿼리(데이터베이스를 다루는 언어)를 작성하지 않아도 된다.
- 데이터를 가져오고,저장,추가,삭제 기능이 있다.
init.py
추가되는 모듈/기능들을 관리
settings.py
장고 프로젝트의 전체적인 환경 설정
urls.py
API를 담당
templates
작성한 HTML 파일이 들어가는 곳
views.py 생성
from django.http import HttpResponse
# 데이터 전송 헤더파일
def base_response(request):
return HttpResponse("안녕하세요! 장고의 시작입니다!")
urls.py로 이동
from django.contrib import admin
from django.urls import path
from . import views
urlpatterns = [
path('admin/', admin.site.urls),
path('test'/,views.base_response,name = "first_test"),
]
로컬 호스트 주소
http://127.0.0.1:8000/test/
from django.http import HttpResponse
from django.shortcuts import render
# html 파일을 보여주는 헤더파일
def base_response(request):
return HttpResponse("안녕하세요! 장고의 시작입니다!")
def first_view(request):
return render(request,'my_test.html')
#test html을 보여주는 역할을 하는 함수
urls.py 수정
from django.contrib import admin
from django.urls import path
from . import views
urlpatterns = [
path('admin/', admin.site.urls),
path('test/',views.base_response(),name = "first_test"),
path('first/',views.first_view,name = 'first_view'),
# first파일 경로 추가
]