제수기 > django > Templates / Layout

Eunbi Jo·2025년 1월 8일
0

제수기

목록 보기
56/90
post-thumbnail
제수기 - 제발 수업내용을 기억해라

Templates

html 주석 말고 templet 주석은 개발자들만 봐야 할 때 사용하면 좋다.

    {# template 한줄 주석 #}

    {% comment %}
    template 여러줄 주석
    {% endcomment %}

return render에 들어가는 것들

조건처리

if ~ endif


페이지소스를 열어보면 당신은 성인입니다가 나오지 않는다.

반복처리

hobby를 매턴마다 h에 담아서 순회하자.

스타일 주기

표만들기

이런식으로 반복처리 하려면 어떻게 해야 할까?

체크박스

조건을 넣어서 체크박스 넣을 수도 있다.

빈 데이터 표시

만약 비어있으면?

필터

https://docs.djangoproject.com/en/5.1/ref/templates/builtins/#ref-templates-builtins-filters

글자 표시


날짜/시간 + 마크 넣기

변수가 아니라 표현식처럼 넣을 수도 있다.

Variable Declaration

% now

% with

with 스코프 안에서 변수 선언 및 사용

  • username='honggd' 이 부분에서 띄어쓰기 하면 안 된다.
  • {% endwith %}으로 끝내줘야 한다.

가격

views.py에 가격 지정

html에서
소수점 2자리까지 보여주는 floatformat 넣어서 만들기

intcomma 활성화 시키기
1. setting.py에 INSTALLED_APPS 안에 'django.contrib.humanize', 추가

2. html에 {% load humanize %} 넣기

그러고 나서 이렇게 html에 써주면 세자리마다 컴마를 찍어주는 intcomma를 활성화시킬 수 있다.

layout

template 하위에 html 제작

app 페이지에는 urls 파일을 보고 만들어진 urls 페이지 이동경로가 있다.

💥같이 듣던 학생에게 발생한 에러 네임스페이스가 없다는 오류다.

헤더와 푸터 공통페이지에 놓기

헤더와 푸터는 거의 다 고정돼있다. 그래서 공통페이지에 빼놓고 필요할 때 끌어다쓰는 일을 한다.

예시 쿠팡

먼저 app에 layout 경로를 만들고, -> templates에 만들고, base.html을 만들어놓자. layout2에 만들어놨던 코드를 카피해서 넣는다.

실제로 바뀔 내용은 본문 부분이기 때문에, 거기에 블락을 만든다.

다시 layout으로 돌아와서 다 지우고

경로 에러..

해결!

헤더랑 푸터에 내용 옮겨놓고

원래 base.html에서 header와 footer가 있던 자리에 % include 선언

계속 써주기 귀찮으면

이렇게 써줘도 된다.

페이지마다 다르게 하고 싶으면 이렇게 넣어줘도 된다.

0개의 댓글