path-converter란?
장고에서 여러 객체들을 다루는 계층적 url이 필요할 경우에 사용하며, <type:name>와 같은 모양입니다. 지정한 converter type의 name변수를 view 함수로 넘기라는 의미입니다.
제가 가져온 코드를 설명하자면,
블로그 글들이 생성될 때마다 각 블로그에 해당하는 'blog/1', 'blog/2'와 같은 url과 view들을 만드는 것은 매우 비효율적이며 그렇게 할 수도 없습니다. 따라서, 하나의 코드로 url과 view를 다루어야 합니다.
<int:blog_id>를 path-converter로 하여 detail 함수에 넘겨준다는 의미입니다.
pk(primary key)란?
model에서 찍어낸 수많은 객체들을 구분할 수 있는 구분자라고 할 수 있습니다.
여기서는 blog_id가 pk값이 됩니다.
get_object_or_404란?
위 코드에서 계속해서 설명을 하자면,
path-converter로부터 넘겨 받은 blog_id를 받아 Blog객체(model에서 정의된)들 중 pk값이 blog_id인 것이 있으면 가져오고 그렇지 않으면 404 에러를 발생시켜라 라는 의미입니다.
따라서 객체를 가져오기도 하고, 에러메세지를 보내는 역할도 합니다.
cf. detail로 넘겨 줄 때는 해당 블로그의 아이디(blog.id)를 함께 넘겨주어야 합니다.
'Server > django' 카테고리의 다른 글
[Django] 장고 기초 - 템플릿 상속 및 url 관리 (0) | 2019.12.29 |
---|---|
[Django] 장고 기초 - portfolio (static & media) (0) | 2019.12.29 |
[Django] 장고 기초 - queryset & method (0) | 2019.12.28 |
[Django] 장고 기초 - model & admin (0) | 2019.12.28 |
[Django] 장고 기초 - 템플릿 언어란? (0) | 2019.12.27 |