반응형

<해야할 것 >

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>

##하나의 detail.html을 통해서

=> n번째 블로그 객체를 요청하면 n번 객체 내용 불러오기


->[pk] =데이터 구분자


=> url 설계 #/blog/n


->[path converter] =우리사이트/blog/객체번호(n)

=>여러 객체들을 다루는 계층 url 자동생성 : <type:변수이름> #type  :int, srt ...
<urls.py>

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

+ Recent posts