Q&A

책을 따라하다가 막히는 부분이 있나요?
질문을 남겨주세요.

startbootstrap 버전 바뀐거 for문도 같이 바꾸는 법

2 years, 7 months ago

yoojin yoojin

오늘 날짜 기준으로 startbootstrap 사이트의 blog home 템플릿이 책이랑 다릅니다. 기존의 것이 포스트 하나씩만 아래로 배열하는 것이라면 새로운 템플릿은 추천 포스트가 크게 위에 있고 그 밑에 정사각형 4등분 한 모양으로 작게 포스트들이 위치합니다. 

이 때, p 200 에 for 문을 어떻게 수정하면 좋을까요?

이전 버전으로는 해보았는데 새롭게 바뀐 버전에도 내용을 적용해보고 싶어서요. 

알려주시면 감사하겠습니다.


sungyong
sungyong   2 years, 7 months ago

안녕하세요. startbootstrap의 디자인에 큰 변화가 있었네요. 예전에는 부트스트랩5가 적용되었어도, 4를 적용했을때의 모습과 동일했거든요. 

부트스트랩4 기준으로 공부하고 계시지만, 해당 디자인과 동일하게 만드실 수 있습니다. 부트스트랩의 grid 를 잘 응용하시면 됩니다. 여기에서 소스코드까지 쓰기 시작하면 내용이 엄청 길어질 것 같아서 간략하게만 말씀드리겠습니다. 

일단 맨 위의 최근 post는 전체 폭을 다 쓰고, 그 나머지는 반반씩 쓰면 되는 구조죠. 

여러가지 방법이 있을 수 있습니다. 저라면,

  • for문 밖에서 <div class="row">로 감싸주고
  • if 문으로 p (<-post)가 가장 최신 post인지 확인하고, 그렇다면, div에서 col-12, 아니라면 col-md-6 

이런 식으로 적용할 것 같습니다. 

일단은 책 읽으시면서 끝까지 진행해보세요. 책을 마무리 할 때쯤에는 부트스트랩 구조에도 어느정도 익숙해지실테니, 그때 응용하시면 될 것 같습니다. 

Updated: March 30, 2022, 11:33 p.m.

yoojin
yoojin   2 years, 7 months ago

감사합니다. 
최신 포스트를 확인하는 과정에서 blog/model에 최신포스트 함수를 추가해야할까요? 
아니면 단순하게 하는 방법이 있을까요?

일단 책 진도는 계속 나가고 있습니다. 감사합니다.

Updated: March 31, 2022, 9:02 p.m.

sungyong
sungyong   2 years, 7 months ago

여러가지 방법이 있겠지만, 제가 지난 댓글에서 설명드린 방법은 html 만 수정하는 방법이었습니다. 

for 문 안에서 {% if post_list.last == post %} 이런 식으로 하면, 최신 게시물인지 아닌지 알 수 있겠죠. 

for문이 돌아갈 때마다 post_list.last() 를 조회하는게 마음에 들지 않는다면, views.py에서 컨트롤하는 방법도 있습니다. 

context_data['last_post'] = post.objects.last() 로 마지막 post를 찾고, post_list에는 마지막 post가 빠지도록 넘겨서 html에서 처리하는 방법도 있겠죠. 

만약 현재의 설명으로 이해가 잘 안되신다면 다시 질문 남겨주세요. 

Updated: April 3, 2022, 11:57 a.m.

Leave a Comment:
목록보기
Search
  • 자유게시판
  • Q&A