일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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
- 장고로그인회원가입
- 장고수정기능
- queryset
- 글쓰기기능
- 파이썬
- path converter
- 모델폼
- detail page 만들기
- DjangoModel
- 웹페이지제작
- 템플릿태그
- 템플릿상속
- get object or 404
- 검색기능
- modelform
- 장고모델
- 템플릿필터
- 랜덤번호
- Python
- DjangoAdmin
- namespace
- 장고유저모델
- DjangoUsers
- 쿼리셋
- 템플릿변수
- 장고어드민
- 장고
- extends
- CRUD
- django
Archives
- Today
- Total
하루에는
[Django]장고 쿼리셋으로 검색기능 구현하기 본문
Overviews
- 쿼리셋
- 검색 기능 구현
쿼리셋
-
모델로부터 전달받은 객체 목록
# views.py에서..
posts = Post.objects.all()
-
Model.objects → 쿼리셋
-
all() → 메소드
메소드 : 쿼리셋을 이용해서 정렬하거나, 기능을 표시하는 방법
메소드
-
create() : 객체 생성
Post.objects.create(title='제목', content='내용')
-
get() : 단일행을 조건을 걸어서 출력, 반환되는 값이 2개 이상일 경우 에러 발생
Post.objects.get(pk=1)
-
filter() : 여러 행을 조건을 걸어서 출력
Post.objects.filter(user='eneun')
-
order_by() : 정렬
Post.objects.filter(user='예은').order_by('-created_at')
필터링
- __ (언더바 두 개) 사용
검색 기능 예시
- search.html에서 Post 객체 제목을 검색
- result.html에 검색 결과를 띄우기
search.html
<form action="{% url 'result' %}" method='GET'>
제목 검색: <input type='search' name='query'>
<input type='submit' value='검색'>
</form>
views.py
def result(request):
query = request.GET['query']
if query:
posts = posts.objects.filter(title__contains=query)
return render(request, 'result.html', {'posts': posts})
result.html
{% for post in posts %}
<h4>제목: {{ post.title }}</h4>
<h4>내용: {{ post.content }}</h4>
{% empty %}
검색 결과가 없습니다.
{% endfor %}
'Python, Django' 카테고리의 다른 글
[Django]장고 템플릿 상속, url정리 네임스페이스 namespace (0) | 2019.11.29 |
---|---|
[Django]장고 path-converter, get object or 404 장고로 게시물 상세페이지 만들기 (0) | 2019.11.28 |
[Django]장고 Model, admin, Queryset (0) | 2019.11.27 |
[Django]템플릿 변수, 필터, 태그 (0) | 2019.11.27 |
[Django]첫 프로젝트 : random number 프로젝트 만들기 (0) | 2019.10.02 |
Comments