0918
5주차-Day1) django
django project 생성
기본적인 연결과 코드 정리
# 파이썬 가상환경으로 이동 후 (꼭 이동하지는 않아도 됨)
# Terminal
pip install django
django-admin startproject <프로젝트-제목> # 장고 프로젝트 생성
# 생성한 장고 프로젝트 폴더 안으로 이동 후
django-admin startapp <앱-이름> # 장고 앱 생성
python manage.py runserver # 터미널에 뜨는 주소로 들어가면 페이지가 뜨는 걸 확인할 수 있음
- 장고는 한 프로젝트 안에 여러 앱들로 구성되어 있음
- 여러 앱들은 그 안에 다양한 페이지를 만들 수 있음
django app 페이지 생성 및 연결
기본적인 연결과 코드 정리
# <프로젝트-제목> 폴더 안에 있는 settings.py 파일 안
INSTALLED_APPS = [
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
'homepage', # 여기 마지막 위치에 <앱-이름>을 넣으면 앱과 연결할 수 있음
]
# <앱-이름> 폴더 안에 사용할 html 파일 만들고 난 후
# <프로젝트-제목> 폴더 안에 있는 urls.py 파일 안
from django.contrib import admin
from django.urls import path
from homepage.views import index # 경로 성공적으로 연결하기 위해 <앱-이름> 내 views.py와 html 파일 선언(?)
urlpatterns = [
path('', index), # 127.0.0.1/ # path('', <html-파일-제목>) 형태로 경로 연결해 주기
path('admin/', admin.site.urls), # 127.0.0.1/admin/
]
# <앱-이름> 폴더 안 views.py 파일 안
from django.shortcuts import HttpResponse, render
def index(request):
# return HttpResponse("<h1>Hello World!</h1>") # 이렇게만 써도 페이지에 뜸
job = "Student"
return render(request, 'index.html', {"my_job" : job}) # 위에서 만든 html 파일로 job 문자열을 my_job 변수로 넘기기
# 아까 만든 html 파일 안
<!DOCTYPE html>
<html>
<head>
<title>페이지 상단바에 뜨는 제목</title>
</head>
<body>
<h1>페이지에 뜨는 글씨</h1>
<p>저는 {{my_job}}입니다</p> # {{}} 이렇게 중괄호 두 개를 침으로써 views.py에서 선언한 변수를 가지고 와 쓸 수 있음
{% for i in range(10) %} # 이 코드를 통해 html 안에서 for문을 사용할 수 있음( if문도 사용 가능)
<p>{{ i }}</p>
{% endfor %}
</body>
</html>