template tags & 조건문
210729
template tags : truncatechars & truncatewords
기존에 게시글은 모든 컨텐츠를 보여준다. 이 때의 문제점은 게시글이 엄청 길면 그것을 다 보여준다는 것.

이를 일정 조건을 걸어 조금만 보여줄 수 있도록 하는 문법이있다.
truncatewords는 단어 수, truncatechars는 글자 수 만큼만 보여준다

또, 게시글의 요약 느낌이 나도록 추가할 수 있다.

models.py
post_list.html
text-muted는 글씨를 조금 흐릿하게 해서 원래 제목과 구별할 수 있도록 한다.
템플릿에서 조건문 쓰기 - if 문으로 이미지 없는 경우 처리하기
post_list.html
다음과 같이 head_image가 있을 경우와 없을 경우로 나누어서 조건문을 작성해준다. 이미지가 없을 경우에는 lorem picsum에서 불러온다.
이 때 다음과 같은 문제가 있다
picsum에서 불러오는 이미지는 매번 업데이트 된다.
따라서 고정할 필요성이 있음
이미지가 없는 모든 포스트의 picsum 이미지가 동일하다
모두 다르게 해야함
다음과 같이 해결할 수 있다
picsum id 사용 :
https://picsum.photos/id/237/200/300id가 너무 커지면 이미지 출력이 안될 수 있음
따라서, seed 사용 :
https://picsum.photos/seed/picsum/200/300seed는 게시물의 id로 고정
템플릿에서 조건문 쓰기 - 첨부파일이 있는 경우 다운로드 버튼 만들기
업로드된 파일이 있다면 파일을 다운받을 수 있는 버튼을 출력하고 이 때 확장자에 맞게 아이콘을 출력하려고 한다
물론 head에 fontawesome js 코드를 써줘야 한다.
post_detail.html
models.py
부록
한글입숨
긴글이 필요할 때, 아무 의미없는 텍스트가 필요할 때가 있다. 그럴 때 Lorem Ipsum을 흔히들 불러오는데 한글판이 있다.
장고 관리자 계정 찾기
나는 장고 관리자 비밀번호를 생성하지 않았었는데, 장고에서 로그인 할 때는 비밀번호를 반드시 입력했어야 했다. blank=True가 아닌듯...
다음과 같이 실행해서 관리자 계정 아이디를 얻고 비밀번호를 변경했다
Last updated
Was this helpful?