Django는 장고라고 불리고 파이썬을 이용한 웹 개발을 도와주는 프레임워크다.
Django 설치
pip install django
(혹은 아나콘다 사용 시 conda install django
)
프로젝트 만들기
django-admin startproject 프로젝트명
명령어를 실행한 현재 경로에 명령어에 적힌 프로젝트명 폴더가 하나 생성됨을 확인할 수 있다. 해당 폴더로 이동 후 작업을 진행한다.
어플리케이션 만들기
python manage.py startapp 어플리케이션명
template 만들기
경로는 어플리케이션명/templates/어플리케이션명 폴더를 구성하고 이 하위 폴더에 html파일을 저장한다.
views-template 연결해주기
어플리케이션명/views.py 에 template상 html페이지와 연결해주는 함수를 만든다.
from django.shortcuts import render
from django.http import HttpResponse
def 함수명(request):
return render(request, '어플리케이션명/연결할html파일명.html')
어플리케이션명/urls.py를 만들고 해당 파일에 views.py를 import하고 urlpatterns에 path를 추가해준다.
from django.urls import path
from . import views
urlpatterns = [
path('', views.views연결할함수명, name='views연결할함수명'),
]
프로젝트명/urls.py 에 어플리케이션명/urls.py를 추가해준다.
from django.contrib import admin
from django.urls import include, path
urlpatterns = [
path('url에주소에넣어줄값/', include('어플리케이션명.urls')), # url주소 : "http://127.0.0.1:8000/url에주소에넣어줄값"으로 연결됨을 의미한다.
path('admin/', admin.site.urls), # 기본적으로 있음
]
로컬서버 실행하기
python manage.py runserver
모델 만들기
class 클래스명(models.Model):
속성값 = models.속성타입(속성크기)
INSTALLED_APPS = [
'어플리케이션명.apps.Config클래스명',
...
]
{{ 변수명 }}
다음과 같은 방식으로 변수를 표현할 수 있다. 변수 속성에 대한 접근은 도트(.)를 이용한다.
ex)
a=[1,2,3,4]
# 이때 a의 0번째 인덱스인 값 1에 접근하고 싶다면?
{{ a.0 }}
# {{ a[0] }}이 아니다!!!
{{ 변수명|필터함수 }}
필터함수
탬플릿 태그
{% 로직 %}
탬플릿 내에서 로직을 사용할 때 사용하는 문법이다.
ex)
a=[1,2,3,99]
{% for i in a %}
{{ i }}
{% endfor %}
# 출력화면
# 1
# 2
# 3
# 99
# 패키지명/settings.py 파일
INSTALLED_APPS = [
"내 어플리케이션명", # 내가 추가한 어플리케이션명을 작성해주자!!!
'django.contrib.admin', # 기본설정
'django.contrib.auth', # 기본설정
'django.contrib.contenttypes', # 기본설정
'django.contrib.sessions', # 기본설정
'django.contrib.messages', # 기본설정
'django.contrib.staticfiles', # 기본설정
]
templates/어플리케이션명
폴더 하위에 있는지 확인. 가끔 templates
폴더만 만든다거나 templates/어플리케이션명
폴더를 만들어 놓고 html파일은 templates 하위에 놓는 경우가 종종 있다. 해당 경로를 정확히 클릭했을 때 html파일이 확인되는지 확인해본다.