[Django] 장고 Models를 활용한 데이터베이스 처리#5_Queryset을 통한 간단 검색 구현

아직·2022년 7월 8일
0
post-thumbnail

1)

from django.urls import path
from . import views

urlpatterns = [
    path('', views.post_list),
]

urls.py 소스에 해당 코딩을 구현했다. 네이버에 처음 들어갔을 때 검색창이 뜨는 것처럼, "아무것도 없는 ''주소로 접근한다면 views.py 소스의 post_list 함수와 연결해줄게"로 이해하면 좋다.

2)

def post_list(request):
    qs = Post.objects.all()
    q = request.GET.get('q', '')
    if q:
        qs = qs.filter(message__icontains = q)
    # instagram/templates/instagram/post_list.html
    return render(request, 'instagram/post_list.html', {
        'post_list' : qs,
        'q' : q,
    })

호출 당시의 요청의 모든 내역인 request를 첫 번째 인자로 갖는 함수 post_list를 작성하겠다. request는 .GET/.POST/.FILES를 통해서 인자를 꺼내 쓸 수 있다.

0개의 댓글