검색 기능 구현
view
def search(request):
search_word = request.GET.get("search_word")
article_list = Article.objects.filter(
Q(title__icontains=search_word) |
Q(content__icontains=search_word) |
Q(author__username__icontains=search_word)
).distinct()
context = {
"search_word": search_word,
"article_list": article_list,
}
return render(request, "products/search.html", context)
대소문자 구분 안하고 해당 단어를 포함한다면 검색어 걸리도록 함.
distinct를 주어 중복을 제거
template
{% extends 'base.html' %}
{% block content %}
<h1>{{ search_word }}로 검색한 결과</h1>
{% for article in article_list %}
<p><a href="{% url 'products:product_detail' article.pk %}">{{ article.title }}</a></p>
{% endfor %}
{% endblock content %}
'[내일배움캠프]스파르타코딩클럽 AI 웹개발 > Today I Learned' 카테고리의 다른 글
[TIL] DRF class based view (0) | 2024.08.29 |
---|---|
[TIL] annotate (0) | 2024.08.27 |
[TIL] (0) | 2024.08.25 |
[TIL] models.py 코드 리팩토링 (0) | 2024.08.22 |
[TIL] (0) | 2024.08.21 |