1) 페이지 만들기
(1) views.py 새롭게 만들기 **만들 기능에 따라 폴더 위치를 잘 보고 만들자
from django.http import HttpResponse
def base_response(request):
return HttpResponse("안녕하세요! 장고의 시작입니다!")
# 웹페이지에 해당 메시지가 출력된다!
(2) urls.py에 views.py 연결하기
from . import views
path('test/', views.base_response, name='first test')
path로 경로, views.py에서 무엇을 보여줄지, 속성부여..
보다보니 path자체를 알아두면 좋겠다는 생각이 든다.
Django의 소스코드 들여다보기
def _path(route, view, kwargs=None, name=None, Pattern=None):
#...if부분은 urls.py에서 path를 실행하기위한 부분...
elif callable(view): #urls.py에서 실행되는 로직
pattern = Pattern(route, name=name, is_endpoint=True)
return URLPattern(pattern, view, kwargs, name)
else:
raise TypeError('view must be a callable or a list/tuple in the case of include().') #에러설정도 되어있구나..
pattern = Pattern(route, name=name, is_endpoint=True)
- route : url 패턴을 가지는 문자열
- name : 선택적으로 이름을 지정하는 매개변수
- is_endpoint : URL 패턴과 일치하는 요청을 처리하는 함수, boolean값으로 처리함
정리하자면 pattern = 이름값을 부여하는데 그게 url패턴이고, 기본 url뒤에 붙으면 True값이 되어 이후 기능을 수행하도록 한다.
- view : Django에서 패턴과 일치하는 URL을 처리하기 위한 함수 혹은 클래스 기반 view
(HttpRequests.. http요청이 들어오면 적절한 값을 키워드 인수로 호출, HttpResponse반응해준다.)
- kwargs : 함수, 클래스 기반 dict에서 요청받은 키워드 인수를 목표한 view 에 전달함
- name : URL에 이름을 지어서 Django 어디에서나 명확하게 참조하기 위함
어떻게 적긴했는데 완전히 이해는 안된다^^.. 사용하다보면 익숙해지겠지
아 path는 임의의 url을 생성해서 생성하고자하는 기능을 불러와주는 코드구나~ 정도로 이해하면 되겠다.
2) html 파일 만들고 페이지 추가하기
(1)templates에 html파일을 추가한다.
+ html 내용을 입력해야한다..!
(이후는 1)페이지만들기 단계와 같다)
(2)view.py
from django.shortcuts import render
render는 html파일을 요청에 따라 보여준다
def first_view(request):
return render(request, 'my_test.html')
함수 first_view는 my_test.html을 보여준다.
path('first/', views.first_view, name='first_view'),
urls.py에 추가한다(위에서도 썼지만 page만드는 사람이 이름 알아서 붙여 넣으면 된다)
'AI 웹개발반 > Python, Django' 카테고리의 다른 글
[Django] 06 회원가입, 로그인기능 수정하기 (0) | 2023.04.06 |
---|---|
[Django] 05 user model에 기능 추가하기 (0) | 2023.04.05 |
[Django] 04 앱 기능 추가 GET, POST, 세션 (0) | 2023.04.04 |
[Django] 03 앱 추가 + DB연결, admin (0) | 2023.04.04 |
[Django] [TIL] 장고 환경 세팅, 오류메세지를 해결하는 사고 (0) | 2023.04.03 |