이번 강의에서는 검색 기능을 만들어 보겠습니다.
검색어를 받기 위하여 home.html에 search form을 만들어 줍시다.
<form action="{% url 'search' %}" method="get"> <input type="text" name="q" value="{{ q }}"> <input type="submit" value="검색"> </form> |
이제 검색어를 받고 필터링한 글목록을 보여줄 search.html을 만들어주어 home.html의 내용을 모두 복사하여 넣어줍니다.
postapp/templates/search.html의 내용은 home.html과 동일합니다.
이제 필터링을 해줄 함수와 url을 설정합니다.
views.py로 돌아와
def search(request): posts = Post.objects.all() q = request.GET.get('q', '')
if q: posts = posts.filter(title__icontains=q)
return render(request, 'search.html', { 'posts' : posts, 'q' : q, }) |
search 함수를 생성하여 준 뒤
urls.py로 가서
path('search', views.search, name='search'), |
search가 작동할 수 있게 url을 설정하여 줍니다.
서버를 확인하여 보면 글 검색 form이 이상 없이 생겼다는 걸 알 수 있고
이상 없이 나오는 걸 확인할 수 있습니다.
'코딩공부 > Python Django' 카테고리의 다른 글
python django heroku + aws s3 이용하기 (버킷 생성 및 key 발급) (0) | 2020.01.02 |
---|---|
python django heroku 배포하기 (3) | 2020.01.02 |
KKU likelion django project (7) (0) | 2020.01.02 |
KKU likelion django project (6) (0) | 2020.01.02 |
KKU likelion django project (5) 번외 (0) | 2020.01.02 |