728x90
mission : 본문미리보기 - 클릭하면 본문상세보기
1) models.py
class Blog(models.Model):
title = models.CharField(max_length = 200)
pub_date = models.DateTimeField('data published')
body = models.TextField()
objects = models.Manager()
def __str__(self):
return self.title
def summary(self):
return self.body[:100] //추가
2) home.html
<p> {{blog.summary}} <a href>...more</a> </p>
3) urls.py
path('blog/<int:blog_id>', blog.views.detail, name="detail"),
그럼 이제 blog.views 안에 detail 함수 만들어야겠지.
4) views.py
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})
그럼 이제 detail.html이 있어야하겠지
5) detail.html
<h1>자세한 본문 내용</h1>
<br>
<h2> 제목 : {{blog.title}} </h2>
<h2> 작성 날짜 : {{blog.pub_date}} </h2>
<h2> 본문 전체 : {{blog.body}} </h2>
이제 home에서 href만 잘 넘겨주면 되겠다!
6) 다시 home.html
{% 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 %}
get_object_or_404 : object를 가져와주기도하고, 예외처리를 해주기도하는 역할
'Development > Django(멋쟁이사자처럼 7기 운영진)' 카테고리의 다른 글
[멋사7기] 4주차 - 5. portfolio (static) (0) | 2019.02.03 |
---|---|
[멋사7기] 4주차 - 3. blog project 1, 2 (0) | 2019.01.30 |
[멋사7기] 3.5주차 - Bootstrap (0) | 2019.01.24 |
[멋사7기] 3주차 - 2. model&admin 이론, 실습 / 3. queryset & method (0) | 2019.01.24 |
[멋사7기] Django에 Css/Bootstrap 적용하기 (0) | 2019.01.17 |