▶App 생성
사이트에서 어디로 이동하면 '/' 뒤에 다른 뭔가가 붙는다.
각각 하나가 App이라고 생각해도 될 거 같다. (내 추측)
App 생성
django-admin startapp <app 이름>
프로젝트를 생성한 곳에서 manage.py가 있는 위치로 이동한다.
그다음에 위 코드를 입력하면 app이 생성된다.
App 패키지 구성
- models.py : entity를 위한 파일
- views.py : controller 역할을 하는 파일
Project 폴더 생성 패키기 구성
- settings.py : 환경 설정과 관련된 파일 (앱 등록을 위해 쓰인다.)
- urls.py : request가 들어오는 url과 view를 연결해 주는 파일
▶App 등록
해당 코드를 이용해 app을 만들면 앱을 등록해야 한다.
처음 생성한 project파일에 settings.py에 가면 INSTALLED_APPS가 있다.
여기에 생성한 app 이름을 추가하면 된다.
▶index view 작성
views.py와 urls.py를 작성해 주면 된다.
views.py 작성
HttpResponse를 통해서 문구를 return 해주도록 작성하였다.
from django.http import HttpResponse
def index(request):
return HttpResponse("hello, welcome pybo!")
urls.py 작성
views.py(controller)를 작성하면 urls.py를 통해서 연결해주어야 한다.
그래야 request가 들어왔을 때 controller가 view를 반환할 수 있다.
from django.contrib import admin
from django.urls import path, include
from pybo import views
urlpatterns = [
path('admin/', admin.site.urls),
path('pybo/', views.index),
]
기본적으로 path('admin/', admin.site.urls)는 있다.
그 아래에 pybo를 호출하도록 작성해 주었다.
urls.py에도 작성해 주고 똑같이 실행해 주면 된다.
http://127.0.0.1:8000/pybo/
▶templates
저렇게 하나하나 return 해서 출력하면 구성하기가 너무 힘들다.
그래서 해당 위치에 templates라는 폴더를 하나 만들고, 그 안에 html을 만들어 주면 된다.
여기에 있는 index.html을 views.py에서 불러와주면 된다.
def index(request):
#return HttpResponse("hello, welcome pybo!")
return render(request, 'index.html')
기존에 HttpResponse를 사용했던 것을 render를 이용해서 return 해주면 된다.
그 안에는 request와 불러올 html 이름을 입력해 주면 만들어 두었던 html로 실행할 수 있다.
'Back-End' 카테고리의 다른 글
[Django] 마이그레이션 초기화 (0) | 2023.07.18 |
---|---|
[Django] 모델(Model), 커스텀 모델 (1) | 2023.05.07 |
[Django] MTV 디자인 패턴 (Model, Template, View) (0) | 2023.05.06 |
[Django] SECRET_KEY 암호화 (github commit시 주의) (0) | 2023.05.02 |
[Django] VScode 장고 시작 (가상환경 venv) (0) | 2023.05.02 |