| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 1 | 2 | 3 | 4 | 5 | 6 | |
| 7 | 8 | 9 | 10 | 11 | 12 | 13 |
| 14 | 15 | 16 | 17 | 18 | 19 | 20 |
| 21 | 22 | 23 | 24 | 25 | 26 | 27 |
| 28 | 29 | 30 | 31 |
Tags
- django
- sort()
- 배포
- 알고리즘
- model
- Formula
- templates
- Sort
- 정렬
- sfdc
- 병합정렬
- app
- 병합
- 앱
- sort 함수
- salesforce
- 동빈나
- 가상환경만들기
- 가상환경
- 장고
- Mtv
- MTV패턴
- 뷰
- 템플릿
- 퀵정렬
- testclass
- view
- 템플릿언어
- 퀵
- date
Archives
- Today
- Total
Like A Flowing Cloud
pk, path converter, get_object_or_404, 글자수 제한, 링크달기 본문
1. 글자수 제한
모델에 함수 하나만 추가하면 됨.
<models.py>
def summary (self):
return self.body[:100]
<home.html>
{{blog.summary}} ( O )
{{blog.body}} ( X )
2. more에 링크달기
<a href = ""> ...more </a>
3. 링크를 클릭했을때 detail.html 페이지 내보내기
● pk : 몇번째 블로그 객체를 호출하는지 알아야하고
● path convereter : url은 .../blog/{객체번호} 처럼 객체에 따라서 달라야 할 것
● get_object_or_404 : 없는 객체번호를 호출할 경우 에러페이지 호출
( 1 ) <urls.py> url 설계
urlpatterns = [
path('blog/<int:blog_id>)', blog.views.detail, name='detail'),
]
▶ 다음의 url 로 접속 시 blog_id를 views에 detail 함수로 넘겨주게 됨.
▶ <int:blog_id> : path converter : 여러 객체들을 다루는 계층적인 url을 자동으로
쉽고 편하게 생성할 수 O
: <int>를 통해 정수형으로 바꿔줌 ( 기존 url은 숫자도 str 타입으로 인식)
( 2 ) <views.py> detial 함수 정의
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})
▶ get_object_or_404 : 첫번째 인자) 어떤 클래스에서 객체를 가져올지
: 두번째 인자) 앞의 클래스의 몇번째 객체인지
▶ pk( primary key) : 각 객체를 구분해주는 역할 ( 몇번째 객체인지 )
'Django' 카테고리의 다른 글
| 글쓰기 기능 구현하기 - create (0) | 2021.06.14 |
|---|---|
| 템플릿 상속, url 관리하기 (0) | 2021.06.14 |
| queryset & method (0) | 2021.06.14 |
| model & admin / migration (0) | 2021.06.14 |
| Django[4] - 템플릿 언어 (0) | 2021.04.08 |