<해야할 것 >
1. 글자 수 제한 (..More)
<models.py>
1 2 | def summary(self): return self.body[:100] //추가 | cs |
2. ..More에 링크 걸기
<home.html>
1 2 3 4 5 6 | {% for blog in blogs.all %} <h1> {{blog.title}} </h1> <p> {{blog.pub_date}} </p> <p> {{blog.summary}} <a href="{%url 'detail' blog.id %}">...more</a> </p> <br><br> {% endfor %} | cs |
3. detail.html 페이지 연결하기
<detail.html>
1 2 3 4 5 | <h1>자세한 본문 내용</h1> <br> <h2> 제목 : {{blog.title}} </h2> <h2> 작성 날짜 : {{blog.pub_date}} </h2> <h2> 본문 전체 : {{blog.body}} </h2> | cs |
<pk, path converter, get_object_or_404>
=> n번째 블로그 객체를 요청하면 n번 객체 내용 불러오기
->[pk] =데이터 구분자
=> url 설계 #/blog/n
1 | path('blog/<int:blog_id>', blog.views.detail, name="detail"), | cs |
=> 존재하지 않는 객체를 요청할 때 404에러 띄우기
->[get_object_or_404] =404 에러
<views.py>
1 2 3 4 5 6 | from django.shortcuts import render, get_object_or_404 def detail(request, blog_id): blog_detail = get_object_or_404(Blog, pk = blog_id) return render(request, 'detail.html', {'blog': blog_detail}) | cs |
'Web > Django' 카테고리의 다른 글
[4주차]2.blog-(2) (0) | 2019.03.04 |
---|---|
[4주차]2.blog-(1) (0) | 2019.03.04 |
[3.5주차]Bootstrap (0) | 2019.03.03 |
[3주차]model & admin (0) | 2019.03.03 |
[2.5주차]GIT (0) | 2019.03.03 |