● app 추가시 setting.py에서 꼭 app 추가해야함
● HttpResponse vs render vs redirect
httpresponse : Json, html을 return
render : 템플릿을 불러오고
redirect : URL로 이동
● render
render(request, template_name, context=None, content_type=None, status=None, using=None)
# views.py
from django.shortcuts import render
def my_view(request):
name = "minsung"
return render(request, 'myapp/index.html', {
'name': name,
}
context 로 원하는 인자를, 즉 view 에서 사용하던 파이썬 변수를 html 템플릿으로 넘길 수 있다.
context 는 dict()으로 사용하며 key 값이 탬플릿에서 사용할 변수이름, value 값이 파이썬 변수가 됨
● redict
redirect(to, permanent=False, *args, **kwargs)
# views.py
from django.shortcuts import redirect
def my_view(request):
...
return redirect('view-name') # view_name 사용
# return redirect('/some/url/') # 상대 경로
# return redirect('https://example.com/')# 절대 경로
to 에는 어느 URL 로 이동할지를 정하게 된다.
이 때 상대 URL, 절대 URL 모두 가능하며 urls.py 에 name 을 정의하고 이를 많이 사용.
단지 URL로 이동하는 것이기 때문에 render 처럼 context 값을 넘기지는 못한다.
● Template engine
● request.method == 'POST'
● static 수정이 안될 때
chrome 쿠키, 캐시 데이터 삭제 후 진행
STATICFILES_DIRS = [
os.path.join(BASE_DIR, 'myapp','static')
]
전체 프로젝트 아래에 static으로 관리하는게 아니라 myapp-static으로 관리하겠다는 의미임
'Backend > Python' 카테고리의 다른 글
Web Framework Django 추가로 해야 할 것 (0) | 2022.07.05 |
---|---|
Web Framework Django 시작하기(5) - CRUD의 Create (0) | 2022.01.11 |
Web Framework Django 시작하기(4) - CRUD의 Read (0) | 2022.01.11 |
Web Framework Django 시작하기(3) - Django에 대해 (0) | 2022.01.10 |
Web Framework Django 시작하기(2) - Routing URLConf ★ (0) | 2022.01.10 |