Django搜索页功能的实现

 时间:2026-02-14 00:42:35

1、打开命令行窗口新建Django工程,并在工程下创建一个应用,命令如下:

django-admin startproject djsearch

cd djsearch

python manage.py startapp book

Django搜索页功能的实现

2、使用开发工具打开上一步创建的工程,修改工程的settings.py注册应用,并添加模板文件目录,修改部分的代码如下:

INSTALLED_APPS = [


   'django.contrib.admin',
   'django.contrib.auth',
   'django.contrib.contenttypes',
   'django.contrib.sessions',
   'django.contrib.messages',
   'django.contrib.staticfiles',
   'book.apps.BookConfig'
]

TEMPLATES = [


   {
       'BACKEND': 'django.template.backends.django.DjangoTemplates',
       'DIRS': [os.path.join(BASE_DIR,'templates')],
       'APP_DIRS': True,
       'OPTIONS': {
           'context_processors': [
               'django.template.context_processors.debug',
               'django.template.context_processors.request',
               'django.contrib.auth.context_processors.auth',
               'django.contrib.messages.context_processors.messages',
           ],
       },
   },
]

Django搜索页功能的实现

3、在应用的models.py创建模型类,代码如下:

from django.db import models


# Create your models here.
class BookModel(models.Model):
   name = models.CharField(max_length=50)
   content = models.TextField(max_length=800)
在应用的admin.py注册模型类,代码如下:

from django.contrib import admin


from .models import BookModel
# Register your models here.
admin.site.register(BookModel)

Django搜索页功能的实现

Django搜索页功能的实现

4、在terminal使用命令生成数据库迁移文件,迁移数据库,创建超级用户

python manage.py makemigrations

python manage.py migrate

python manage.py createsuperuser

Django搜索页功能的实现

5、登录admin页面,添加若干书籍

Django搜索页功能的实现

6、在工程的urls.py文件,include应用的urls.py

from django.contrib import admin


from django.urls import path,include
urlpatterns = [
   path('admin/', admin.site.urls),
   path('book/',include('book.urls'))
]

在应用的urls.py文件,添加到视图的路径

from django.urls import path


from . import views
urlpatterns = [
  path(r'search/',views.search)
]

Django搜索页功能的实现

7、在应用的views.py文件,添加search函数

from django.shortcuts import render


from .models import BookModel
from django.db.models import Q
# Create your views here.
def search(request):
   sc = request.GET.get('search',None)
   context = None
   if sc:
       print(sc)
       booklist = BookModel.objects.filter(Q(name__icontains=sc))
       context = {'booklist':booklist}
   return render(request,'booksearch.html',context)

Django搜索页功能的实现

8、在工程根目录创建templates文件夹,并在文件夹创建bootlist.html文件,代码如下;

<!DOCTYPE html>


<html lang="en">
<head>
   <meta charset="UTF-8">
   <title>book</title>
</head>
<body>
   <form action="/book/search/" >
       <input type="text"
                   name="search"
                   placeholder="搜索书籍..."
                   required
               >
       <input type="submit" value="提交">
   </form>
   {% if booklist %}
   {% for book in booklist %}
       <li>{{ book.name }}</li>
   {% endfor %}
   {% endif %}
</body>
</html>

Django搜索页功能的实现

9、运行服务器,打开搜索页面,输入python,提交后,页面如下图,搜索成功

Django搜索页功能的实现

  • 程序员必知的高级语言c算术转换
  • 见智研究如何启用允许2G/3G/4G网络查看图片
  • x/(1+x^2)的积分是多少,求过程
  • 双踪示波器使用说明
  • WPS Office的新人优惠在哪里
  • 热门搜索
    茶文化手抄报 廉政手抄报 抗疫英雄手抄报 教师节手抄报简单好看 元旦手抄报图片 有关春节的手抄报 保护环境手抄报图片 食品安全手抄报图片 植树节手抄报资料 植树节手抄报一等奖