django搜索框功能的代码实现
时间: 2023-03-28 07:00:39 浏览: 140
可以使用django自带的搜索框功能,具体实现方法如下:
1. 在views.py中定义搜索函数,如下所示:
from django.shortcuts import render
from django.db.models import Q
from .models import Article
def search(request):
query = request.GET.get('q')
if query:
results = Article.objects.filter(Q(title__icontains=query) | Q(content__icontains=query))
else:
results = []
return render(request, 'search.html', {'results': results})
2. 在urls.py中定义搜索路由,如下所示:
from django.urls import path
from . import views
urlpatterns = [
path('search/', views.search, name='search'),
]
3. 在模板文件中添加搜索框和搜索结果展示,如下所示:
<form method="get" action="{% url 'search' %}">
<input type="text" name="q" placeholder="搜索...">
<button type="submit">搜索</button>
</form>
{% if results %}
<ul>
{% for article in results %}
<li><a href="{{ article.get_absolute_url }}">{{ article.title }}</a></li>
{% endfor %}
</ul>
{% else %}
<p>没有搜索到相关文章</p>
{% endif %}
以上就是django搜索框功能的代码实现。
阅读全文