Notice
Recent Posts
Recent Comments
«   2025/04   »
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
Tags
more
Archives
Today
Total
관리 메뉴

INSPECT

Python Django-4 (QuerySet &Get Item or 404 Query) 본문

Python

Python Django-4 (QuerySet &Get Item or 404 Query)

INSPECT 2017. 1. 3. 00:06

Python Django-4 (QuerySet &Get Item or 404 Query)



---QuerySet---



터미널에서 python manage.py shell을 치면 쉘로 들어오는데 이것은 우리 장고프로젝트와 연관되어 사용할 수 있다.



모델을 임포트해주면 모델을 이용해 조회하거나 생성하는 것이 가능해진다.

 


반복문으로 쿼리셋에 저장해 원하는 정보를 출력해줄 수 있다.

PKID와 의미가 비슷하다. Primary Key의 줄임말이다.

 


모델 Post를 임포트 해준 뒤 listqueryset으로 모든 포스트 항목들을 집어넣고 object_list라는 변수에 넣었다.


viewobject_list 변수를 입력해준다.



뷰를 이런식으로 바꿔서 반복문으로 돌리면


이렇게 멋있게 나온다. 멋있다...

 

---Get Item or 404 Query---

 


이런식으로 get을 이용해 내용을 가져올때는 id값이 존재하지 않아 오류가 날 때 페이지는


오류가 난 원인을 보여주게 된다. 이러한 페이지는 보안에 취약하다. 따라서 우리는 Get Item or 404 Query를 사용하여 오류가 나면 404오류페이지로 이동되게 할 것이다.

 

get_object_or_404import해주고 이를 이용해 인스턴스를 가져온다.

 

새로 post_detail.html 파일을 만들어


이처럼 작성해준다. 그럼 details페이지에서는 인스턴스의 title, content, timestamp, updated, id가 나오게 될 것이다.



만약 찾는 값이 없다면(id=3인 게시물) 에러 페이지는 위처럼 에러 내용을 보이지 않는 404페이지로 나오게 된다. 보안에 조금 신경 썼다고 할 수 있다.

id값 말고도 title=“Title abc”와 같이 다른 값으로 지정할 수도 있다.

'Python' 카테고리의 다른 글

[Python] 오류 자세히 찍기  (0) 2017.01.27
Python Django-5 (Dynamic Url Routing & Patterns / URL Links & Get Absolute URL)  (0) 2017.01.03
Python Django-3 (Template)  (0) 2017.01.02
Python Django-2  (0) 2017.01.02
Python Django-1  (0) 2017.01.02
Comments